THẢO LUẬN

Avatar
đã bình luận cho bài viết
thg 3 5, 2023 3:59 CH

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.

0

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()

    # 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)
0

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.

0
thg 3 5, 2023 7:04 SA

@haiyen4101 Cai này bạn có thể tra google mà. 😦

0
thg 3 5, 2023 6:39 SA

@lengocanh làm sao để chạy với quyền admin ạ

0

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ề @@

+1

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á

0
thg 3 4, 2023 3:23 CH

@haiyen4101 Bạn để lỗi là Permission denied nên mình nghĩ là bạn phải chạy với quyền admin ấy

0

@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. image.png

0

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 ạ?

0

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

0
thg 3 4, 2023 10:48 SA

Anh chỉ e cách build lên giao diện với anh. Em cảm ơn anh ạ

0
thg 3 4, 2023 10:44 SA

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 đượcIntelliJ IDEA_2023-03-04 17-43-38@2x.jpg

0
thg 3 3, 2023 5:17 CH

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õ

0
thg 3 3, 2023 4:48 CH

Ví dụ dễ hiểu. Cám ơn bạn!

0

image.png mình để thế này vẫn chiến được bt mà

0
thg 3 3, 2023 4:11 CH

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.

0

Cảm ơn bác đã đi được 1 ít cho website : https://songdien.vn/

0

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

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí