全部产品
Search
文档中心

Platform For AI:Alat visualisasi TensorBoard

更新时间:Feb 11, 2026

Untuk memvisualisasikan dan menganalisis proses serta hasil pelatihan model secara lebih intuitif, simpan log pelatihan dalam kode Anda menggunakan TensorBoard, lalu gunakan fitur TensorBoard pada Deep Learning Containers (DLC) untuk visualisasi. Topik ini menjelaskan cara membuat dan mengelola instans TensorBoard.

Prasyarat

  • Untuk melihat laporan analisis menggunakan TensorBoard, pekerjaan DLC Anda harus memiliki set data yang dikonfigurasi. Pada halaman daftar pekerjaan DLC, klik nama pekerjaan tersebut. Di halaman Overview, pastikan bahwa set data telah dikonfigurasi untuk pekerjaan tersebut.

  • Simpan log Summary dalam kode pelatihan Anda menggunakan TensorBoard. Untuk contoh kode penyimpanan file log Summary, lihat contoh di Kasus.

Kasus Pekerjaan DLC Menggunakan TensorBoard

Topik ini menyediakan kasus pekerjaan DLC berikut dengan konfigurasi set data dan TensorBoard sebagai berikut:

  • Konfigurasikan set data Object Storage Service (OSS):

    • Alamat OSS: oss://w*********.oss-cn-hangzhou-internal.aliyuncs.com/dlc_dataset_1/

    • Jalur pemasangan: /mnt/data/

  • Tetapkan alamat penyimpanan file log Summary menggunakan SummaryWriter TensorBoard: SummaryWriter('/mnt/data/output/runs/mnist_experiment'). Contoh kode pelatihan lengkap adalah sebagai berikut:

    Contoh kode pelatihan lengkap

    import torch
    import torch.nn as nn
    import torch.optim as optim
    from torch.utils.data import DataLoader
    from torchvision import datasets, transforms
    from torch.utils.tensorboard import SummaryWriter
    
    # Hyperparameter
    batch_size = 64
    learning_rate = 0.01
    num_epochs = 30
    
    # Periksa GPU yang tersedia
    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
    
    # Pra-pemrosesan data
    transform = transforms.Compose([
        transforms.ToTensor(),
        transforms.Normalize((0.5,), (0.5,))
    ])
    
    # Unduh set data MNIST, pisahkan menjadi set pelatihan dan validasi
    train_dataset = datasets.MNIST(root='/mnt/data/dataSet', train=True, download=True, transform=transform)
    val_dataset = datasets.MNIST(root='/mnt/data/dataSet', train=False, download=True, transform=transform)
    
    train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
    val_loader = DataLoader(val_dataset, batch_size=batch_size, shuffle=False)
    
    # Definisikan jaringan saraf sederhana
    class SimpleNN(nn.Module):
        def __init__(self):
            super(SimpleNN, self).__init__()
            self.fc1 = nn.Linear(28 * 28, 128)
            self.fc2 = nn.Linear(128, 10)
    
        def forward(self, x):
            x = x.view(-1, 28 * 28)  # Ratakan
            x = torch.relu(self.fc1(x))
            x = self.fc2(x)
            return x
    
    # Buat instans model dan pindahkan ke GPU (jika tersedia)
    model = SimpleNN().to(device)
    criterion = nn.CrossEntropyLoss()
    optimizer = optim.SGD(model.parameters(), lr=learning_rate)
    
    # Buat SummaryWriter TensorBoard
    writer = SummaryWriter('/mnt/data/output/runs/mnist_experiment')
    
    # Variabel untuk menyimpan model dengan akurasi tertinggi
    best_val_accuracy = 0.0
    
    # Latih model dan catat loss serta akurasi
    for epoch in range(num_epochs):
        model.train()
        for batch_idx, (data, target) in enumerate(train_loader):
            data, target = data.to(device), target.to(device)  # Pindahkan data dan target ke GPU
    
            # Nolkan gradien
            optimizer.zero_grad()
            # Propagasi maju
            output = model(data)
            # Hitung loss
            loss = criterion(output, target)
            # Propagasi mundur
            loss.backward()
            # Perbarui parameter
            optimizer.step()
    
            # Catat loss pelatihan ke TensorBoard
            if batch_idx % 100 == 0:  # Catat setiap 100 batch
                writer.add_scalar('Loss/train', loss.item(), epoch * len(train_loader) + batch_idx)
                print(f'Train Epoch: {epoch} [{batch_idx * len(data)}/{len(train_loader.dataset)} ({100. * batch_idx / len(train_loader):.0f}%)]\tLoss: {loss.item():.6f}')
    
        # Validasi model dan catat loss serta akurasi validasi
        model.eval()
        val_loss = 0
        correct = 0
        with torch.no_grad():  # Jangan hitung gradien
            for data, target in val_loader:
                data, target = data.to(device), target.to(device)  # Pindahkan data dan target ke GPU
                output = model(data)
                val_loss += criterion(output, target).item()  # Akumulasi loss validasi
                pred = output.argmax(dim=1, keepdim=True)  # Dapatkan label prediksi
                correct += pred.eq(target.view_as(pred)).sum().item()  # Akumulasi prediksi benar
    
        val_loss /= len(val_loader)  # Hitung rata-rata loss validasi
        val_accuracy = 100. * correct / len(val_loader.dataset)  # Hitung akurasi validasi
        print(f'Validation Loss: {val_loss:.4f}, Accuracy: {correct}/{len(val_loader.dataset)} ({val_accuracy:.0f}%)')
    
        # Catat loss dan akurasi validasi ke TensorBoard
        writer.add_scalar('Loss/validation', val_loss, epoch)
        writer.add_scalar('Accuracy/validation', val_accuracy, epoch)
    
        # Simpan model dengan akurasi validasi tertinggi
        if val_accuracy > best_val_accuracy:
            best_val_accuracy = val_accuracy
            torch.save(model.state_dict(), '/mnt/data/output/best_model.pth')
            print(f'Model disimpan dengan akurasi: {best_val_accuracy:.2f}%')
    
    # Tutup SummaryWriter
    writer.close()
    print('Pelatihan selesai. writer.close()')

Buat Instans TensorBoard

  1. Masuk ke Konsol PAI. Di bilah navigasi atas, pilih wilayah dan ruang kerja, lalu klik Enter Job.

  2. Pada kolom Actions pekerjaan target, klik TensorBoard. Pada panel TensorBoard yang muncul, klik Create TensorBoard.image

  3. Pada halaman Create TensorBoard, konfigurasikan parameter berikut, lalu klik OK.

    • Informasi Dasar

      Parameter

      Deskripsi

      Name

      Kustomisasi nama instans TensorBoard.

      Datasets

      • Configuration Type: Jenis yang didukung meliputi: Mount Dataset (Direkomendasikan), Mount OSS, dan By Task.

      • Summary Path: Ini adalah lokasi penyimpanan file log Summary TensorBoard yang ditentukan dalam kode pelatihan Anda. Temukan SummaryWriter dalam kode Anda untuk mendapatkan jalur lengkap Summary tersebut.

      Berikut adalah contoh tiga metode konfigurasi untuk kasus pekerjaan yang disebutkan di atas:

      • Dengan Dataset: Pilih set data yang dikonfigurasi untuk pekerjaan tersebut. Untuk direktori Summary, masukkan hanya jalur relatif file log di dalam set data.

        image

      • Dengan Object Storage Service (OSS): Masukkan jalur OSS yang sesuai. Untuk direktori Summary, masukkan hanya jalur relatif file log di dalam OSS.

        image

      • Dengan Pekerjaan: Pilih pekerjaan DLC target. Untuk direktori Summary, masukkan jalur lengkap file log di dalam kontainer.

        image

    • Konfigurasi Sumber Daya

      Konfigurasikan jenis sumber daya berikut:

      Jenis Sumber Daya

      Deskripsi

      Free Quota

      Sistem menyediakan sejumlah kuota gratis. Setiap instans mendukung maksimal 2 vCPU dan 4 GiB memori. Jika kuota gratis tidak memenuhi kebutuhan Anda, matikan instans gratis lain yang sedang berjalan untuk melepaskan kuota dan buat instans TensorBoard baru.

      Lingjun AI Computing Service

      • Public resources: Metode penagihan adalah pay-as-you-go. Hanya komputasi umum yang mendukung sumber daya publik. Pilih spesifikasi sumber daya sesuai kebutuhan.

      • Resource quota: Metode penagihan adalah langganan. Beli sumber daya komputasi dan buat kuota sumber daya terlebih dahulu. Kemudian, pilih kuota sumber daya tersebut dan konfigurasikan parameter berikut:

        Catatan

        Fitur ini saat ini hanya tersedia untuk pengguna dalam daftar putih. Jika diperlukan, hubungi manajer akun Anda untuk menambahkan akun Anda ke daftar putih.

        • Priority: Menunjukkan prioritas eksekusi instans TensorBoard yang berjalan secara bersamaan. Rentang nilainya [1, 9], dengan 1 menunjukkan prioritas terendah.

        • Job Resource: Konfigurasikan sumber daya yang digunakan saat menjalankan instans TensorBoard: vCPUs dan Memory (GiB).

      General Computing

    • Konfigurasi Virtual Private Cloud (VPC)

      Saat membuat instans TensorBoard menggunakan Public Resources, konfigurasikan parameter ini.

      • Jika Anda tidak mengonfigurasi virtual private cloud (VPC), koneksi jaringan publik akan digunakan. Karena koneksi jaringan publik memiliki lebar pita terbatas, instans TensorBoard mungkin mengalami tersendat atau gagal memulai/menampilkan laporan dengan benar.

      • Konfigurasikan VPC untuk memastikan lebar pita jaringan yang cukup dan performa yang lebih stabil.

        Pilih VPC yang tersedia di wilayah saat ini, lalu pilih vSwitch dan security group yang sesuai. Setelah dikonfigurasi, kluster yang menjalankan instans TensorBoard dapat langsung mengakses layanan dalam VPC ini dan menggunakan security group yang dipilih untuk kontrol akses aman.

        Penting

        Jika instans TensorBoard menggunakan set data yang memerlukan konfigurasi VPC (seperti set data CPFS atau set data Network Attached Storage (NAS) dengan titik pemasangan di dalam VPC), Anda harus menyiapkan VPC.

  4. Buka halaman TensorBoard untuk melihat laporan analisis.

    1. Di panel navigasi kiri, pilih AI Computing Asset Management > Job.

    2. Beralih ke tab TensorBoard. Saat Status instans TensorBoard target adalah Running, klik View TensorBoard di kolom Actions. Halaman akan otomatis dialihkan ke halaman TensorBoard.image

Kelola Instans TensorBoard

Kelola instans TensorBoard yang telah dibuat sebagai berikut:

  1. Masuk ke Konsol PAI. Di bilah navigasi atas, pilih wilayah dan ruang kerja, lalu klik Enter Job.

  2. Di tab TensorBoard, kelola instans TensorBoard.image

    • Jalankan instans TensorBoard

      Klik Start untuk menjalankan kembali instans TensorBoard yang dihentikan.

    • Lihat detail instans TensorBoard

      Klik nama instans target untuk melihat Basic Information dan Configuration Information.

    • Lihat pekerjaan terkait

      Di kolom Associated Task, arahkan kursor ke ikon image untuk melihat ID pekerjaan DLC terkait. Anda juga dapat mengkliknya untuk membuka halaman detail pekerjaan.

    • Lihat set data terkait

      Di kolom Associated Dataset, arahkan kursor ke ikon image untuk melihat ID set data terkait. Anda juga dapat mengkliknya untuk membuka halaman detail set data.

    • Lihat durasi eksekusi

      Di kolom Running Duration, lihat waktu proses instans target. Waktu ini akan diatur ulang setelah Anda menghentikan instans.

    • Hentikan instans TensorBoard:

      • Klik Stop di kolom Actions instans target untuk menghentikan instans secara langsung.

      • Klik Auto-stop Settings di kolom Actions instans target untuk mengatur waktu henti otomatis.

Referensi

Anda juga dapat membuat instans TensorBoard untuk pekerjaan Deep Learning Containers (DLC) di halaman AI Computing Asset Management > Job. Untuk informasi selengkapnya, lihat Buat dan kelola instans TensorBoard.