no_epochs = 2000
for epoch in range(1, no_epochs + 1):
model.train()
optimizer.zero_grad()
# NOTE: just use boolean indexing to filter out test data, and backward after that!
# the same holds true with test data :D
# https://github.com/rusty1s/pytorch_geometric/issues/1928
for i in train_data.y:
if i < 0:
continue
else:
loss = F.nll_loss(
model(train_data), train_data.y - 1, weight=torch.FloatTensor(_class_weights).to(device)
)
loss.backward()
optimizer.step()
# calculate acc on 5 classes
with torch.no_grad():
if epoch % 200 == 0:
model.eval()
# forward model
for index, name in enumerate(['train', 'test']):
_data = eval("{}_data".format(name))
y_pred = model(_data).max(dim=1)[1]
y_true = (_data.y - 1)
acc = y_pred.eq(y_true).sum().item() / y_pred.shape[0]
y_pred = y_pred.cpu().numpy()
y_true = y_true.cpu().numpy()
print("\t{} acc: {}".format(name, acc))
# confusion matrix
if name == 'test':
cm = confusion_matrix(y_true, y_pred)
class_accs = cm.diagonal() / cm.sum(axis=1)
print(classification_report(y_true, y_pred))
loss_val = F.nll_loss(model(test_data), test_data.y - 1
)
fmt_log = "Epoch: {:03d}, train_loss:{:.4f}, val_loss:{:.4f}"
print(fmt_log.format(epoch, loss, loss_val))
print(">" * 50)
Không sao đâu em ! phần quản lý thời gian em có thể rèn luyện được. Mỗi cái có một ít là chuẩn dân IT rồi, Kiên trì và cố lên em nhé ! Mới năm nhất cũng đừng lo lắng lắm, tập trung học những môn đại cương cho chắc để tạo nền tảng tốt nhất nhé e.
cảm ơn bài viết rất hay ạ, em năm nay là năm nhất, em thấy mình cái nào cũng có một ít, và đang cố gắng đẩy các khả năng đấy lên cao… Nhưng vấn đề là em chưa phân bổ dc thời gian hợp lí nên h đang hơi tràn ram:))) Mong trong tương lai em sẽ k phải bỏ nghề @@
Em có thắc mắc 1 xíu, xưa em có cãi lộn với 1 anh SA vụ HA Proxy, or nginx trỏ upsteam vào master hay worker, em có tham khảo các kiến trúc của mấy bạn nc ngoài và trang chủ của k8s thì nó kiêu trỏ vào worker, theo mô hình của anh thì em hiểu trỏ thẳng vào master luôn, nếu theo em đi tầm sư học đạo thì nếu nó hack được các con woker thì sẽ ko làm gì được, còn nó hack được vào master thì nó sẽ control cả cụm, =)) em thấy bối rối quá
@rockman88v Dạ em đang định học k8s và tình cờ tìm thấy series của anh nhưng tại điều kiện kinh tế chưa có nhiều nên em định sử dụng laptop 12G RAM làm vtq-rancher, tạo 1 virtual box làm master node bằng vagrant (sau đó copy file .kube/config ra máy host để dễ thao tác). Sau đó tạo 4 EC2 instance với 2 worker node , 1 cicd, 1 gitlab (mỗi máy 2CPU, 8G RAM) để tiến hành các bài lab. Gitlab mình có thể xài gitlab remote để thay cho 1 máy ảo không ạ? Không biết từng đó cấu hình có thể làm theo các bài lab của anh chưa ạ. Mong được anh phản hồi. Em cảm ơn.
Anh ơi sao khi em clone bất kì 1 repo nào rồi updates code rồi thì cũng phải git config user.email "..." hết vậy ạ
Thực sư hơi khó chịu ạ
Có giải pháp nào cho trường hợp này không ạ?
Em chào anh ạ. Em cảm ơn vì bài viết đã giúp em hiểu. Anh có thể cho em biết thêm về cách hoạt động của các app xem camera ( EVIZ) được không ạ. Em cảm ơn
Máy tôi có cài docker desktop trên win 10 pro mà chạy rất chập chờn, lúc start được, lúc không, mà đa phần là không. Xin cho biết các nguyên nhân chính.
còn 1 bước nữa mà mình thấy trong bài hay cả ở repo không nhắc đến là add bot và group xong phải set nó là admin thì mới gửi tin nhắn được, nếu không thì mình hỏi bot nó chỉ làm thinh thôi:v
THẢO LUẬN
Bác có niềm đam mê và sự tò mò với lập trình đáng kinh ngạc thật. Thật ngưỡng mộ bác.
from sklearn.utils.class_weight import compute_class_weight
model = InvoiceGCN(input_dim=train_data.x.shape[1], chebnet=True) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model = model.to(device) optimizer = torch.optim.AdamW( model.parameters(), lr=0.001, weight_decay=0.9 ) train_data = train_data.to(device) test_data = test_data.to(device)
indices = torch.where((train_data.y < 0) & (train_data.y < 5)) train_data.y[indices] =0
class weights for imbalanced data
_class_weights = compute_class_weight(class_weight="balanced", classes=np.unique(train_data.y.cpu().numpy()), y=train_data.y.cpu().numpy())
print(_class_weights)
no_epochs = 2000 for epoch in range(1, no_epochs + 1): model.train() optimizer.zero_grad()
Không sao đâu em ! phần quản lý thời gian em có thể rèn luyện được. Mỗi cái có một ít là chuẩn dân IT rồi, Kiên trì và cố lên em nhé ! Mới năm nhất cũng đừng lo lắng lắm, tập trung học những môn đại cương cho chắc để tạo nền tảng tốt nhất nhé e.
@haiyen4101 Cai này bạn có thể tra google mà.
@lengocanh làm sao để chạy với quyền admin ạ
cảm ơn bài viết rất hay ạ, em năm nay là năm nhất, em thấy mình cái nào cũng có một ít, và đang cố gắng đẩy các khả năng đấy lên cao… Nhưng vấn đề là em chưa phân bổ dc thời gian hợp lí nên h đang hơi tràn ram:))) Mong trong tương lai em sẽ k phải bỏ nghề @@
Hi anh @rockman88v ,
Em có thắc mắc 1 xíu, xưa em có cãi lộn với 1 anh SA vụ HA Proxy, or nginx trỏ upsteam vào master hay worker, em có tham khảo các kiến trúc của mấy bạn nc ngoài và trang chủ của k8s thì nó kiêu trỏ vào worker, theo mô hình của anh thì em hiểu trỏ thẳng vào master luôn, nếu theo em đi tầm sư học đạo thì nếu nó hack được các con woker thì sẽ ko làm gì được, còn nó hack được vào master thì nó sẽ control cả cụm, =)) em thấy bối rối quá
@haiyen4101 Bạn để lỗi là
Permission deniednên mình nghĩ là bạn phải chạy với quyền admin ấy@rockman88v Dạ em đang định học k8s và tình cờ tìm thấy series của anh nhưng tại điều kiện kinh tế chưa có nhiều nên em định sử dụng laptop 12G RAM làm vtq-rancher, tạo 1 virtual box làm master node bằng vagrant (sau đó copy file .kube/config ra máy host để dễ thao tác). Sau đó tạo 4 EC2 instance với 2 worker node , 1 cicd, 1 gitlab (mỗi máy 2CPU, 8G RAM) để tiến hành các bài lab. Gitlab mình có thể xài gitlab remote để thay cho 1 máy ảo không ạ? Không biết từng đó cấu hình có thể làm theo các bài lab của anh chưa ạ. Mong được anh phản hồi. Em cảm ơn.
Ok
Anh ơi sao khi em clone bất kì 1 repo nào rồi updates code rồi thì cũng phải
git config user.email "..."hết vậy ạ Thực sư hơi khó chịu ạ Có giải pháp nào cho trường hợp này không ạ?Em chào anh ạ. Em cảm ơn vì bài viết đã giúp em hiểu. Anh có thể cho em biết thêm về cách hoạt động của các app xem camera ( EVIZ) được không ạ. Em cảm ơn
Anh chỉ e cách build lên giao diện với anh. Em cảm ơn anh ạ
Anh ơi cho em hỏi là e dùng mac m1 nhưng e chạy câu lệnh ./gradle cleanAll loadAll mà ko chạy được
Cám ơn bác. Em mới tìm hiểu nên đọc tiếng doc tiếng Anh chưa hiểu rõ
Ví dụ dễ hiểu. Cám ơn bạn!
Máy tôi có cài docker desktop trên win 10 pro mà chạy rất chập chờn, lúc start được, lúc không, mà đa phần là không. Xin cho biết các nguyên nhân chính.
Cảm ơn bác đã đi được 1 ít cho website : https://songdien.vn/
còn 1 bước nữa mà mình thấy trong bài hay cả ở repo không nhắc đến là add bot và group xong phải set nó là admin thì mới gửi tin nhắn được, nếu không thì mình hỏi bot nó chỉ làm thinh thôi:v