全部产品
Search
文档中心

Platform For AI:TensorBoard

更新时间:Jul 02, 2025

Untuk secara intuitif melihat dan menganalisis proses serta hasil pelatihan model pada antarmuka pengguna (UI) yang divisualisasikan, Anda dapat menggunakan TensorBoard dalam kode pelatihan untuk membaca log dan memanfaatkan fitur TensorBoard dari Deep Learning Containers (DLC). Topik ini menjelaskan cara membuat dan mengelola instance TensorBoard.

Prasyarat

  • Anda telah mengaitkan dataset dengan pekerjaan DLC. Hanya pekerjaan DLC yang dikaitkan dengan dataset yang dapat menggunakan TensorBoard untuk melihat laporan analisis. Klik nama pekerjaan DLC untuk pergi ke tab Overview dan periksa apakah pekerjaan tersebut terkait dengan dataset.

  • Anda telah menyimpan log ringkasan menggunakan TensorBoard dalam kode pelatihan berdasarkan contoh kode di contoh berikut.

Contoh

Dataset dan konfigurasi TensorBoard berikut digunakan untuk pekerjaan DLC dalam contoh ini.

  • Konfigurasikan dataset Object Storage Service (OSS):

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

    • Path mount: /mnt/data/

  • Tentukan lokasi penyimpanan log ringkasan menggunakan SummaryWriter di TensorBoard: SummaryWriter('/mnt/data/output/runs/mnist_experiment'). Berikut adalah kode contoh lengkap:

    Kode contoh 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 apakah GPU 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 dataset MNIST dan gunakan dataset untuk pelatihan dan dataset untuk 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)
    
    # Tentukan 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 tensor.
            x = torch.relu(self.fc1(x))
            x = self.fc2(x)
            return x
    
    # Buat instance model dan pindahkan ke GPU (jika tersedia).
    model = SimpleNN().to(device)
    criterion = nn.CrossEntropyLoss()
    optimizer = optim.SGD(model.parameters(), lr=learning_rate)
    
    # Buat SummaryWriter untuk TensorBoard.
    writer = SummaryWriter('/mnt/data/output/runs/mnist_experiment')
    
    # Variabel yang digunakan untuk menyimpan model dengan akurasi tertinggi.
    best_val_accuracy = 0.0
    
    # Latih model dan catat loss dan 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.
    
            # Bersihkan gradien.
            optimizer.zero_grad()
            # Lakukan propagasi maju.
            output = model(data)
            # Hitung loss.
            loss = criterion(output, target)
            # Lakukan propagasi mundur.
            loss.backward()
            # Perbarui parameter model.
            optimizer.step()
    
            # Catat loss pelatihan ke TensorBoard.
            if batch_idx % 100 == 0:  # Catat loss 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}')
    
        # Evaluasi model dan catat loss validasi dan akurasi.
        model.eval()
        val_loss = 0
        correct = 0
        with torch.no_grad():  # Nonaktifkan perhitungan 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 validasi dan akurasi 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 instance TensorBoard

  1. Masuk ke Konsol PAI. Pilih wilayah tempat instance Anda berada di bilah navigasi atas dan pilih ruang kerja. Kemudian, klik Enter Deep Learning Containers (DLC).

  2. Di halaman yang muncul, klik TensorBoard di kolom Actions pekerjaan yang ingin Anda kelola. Di panel TensorBoard, klik Create TensorBoard.image

  3. Di halaman Create TensorBoard, konfigurasikan parameter dan klik OK. Tabel berikut menjelaskan parameter.

    • Informasi Dasar

      Parameter

      Deskripsi

      Name

      Nama instance TensorBoard.

      Mount Settings

      • Mount Type: Anda dapat memilih Mount Dataset, Mount OSS, dan By Task. Kami merekomendasikan Anda memilih Mount Dataset.

      • Summary Path: Path tempat log ringkasan TensorBoard disimpan. Anda dapat memperoleh path lengkap dari kelas SummaryWriter di kode pelatihan.

      Konfigurasi sampel untuk contoh:

      • Mount Dataset: Pilih dataset dan masukkan path relatif direktori ringkasan di dataset.image

      • Mount OSS: Pilih path penyimpanan OSS dan masukkan path relatif direktori ringkasan di OSS.image

      • By Task: Pilih pekerjaan DLC yang diinginkan dan masukkan path lengkap file log di container.image

    • Konfigurasi Sumber Daya

      Tabel berikut menjelaskan jenis sumber daya yang didukung.

      Jenis sumber daya

      Deskripsi

      Free Quota

      Sistem memberikan Anda sejumlah sumber daya gratis. Setiap instance dapat menggunakan hingga 2 vCPU dan 4 GiB memori. Jika jumlah kuota gratis tidak memenuhi kebutuhan bisnis Anda, Anda dapat menonaktifkan instance yang berjalan pada kuota gratis untuk melepaskan sumber daya gratis dan menggunakan sumber daya gratis yang dilepaskan untuk membuat instance TensorBoard.

      Lingjun AI Computing Service

      Sumber daya publik: menggunakan metode penagihan bayar sesuai pemakaian. Hanya komputasi umum yang menggunakan sumber daya publik. Anda dapat memilih tipe instance berdasarkan kebutuhan bisnis Anda.

      Kuota Sumber Daya: menggunakan metode penagihan langganan. Anda harus membeli sumber daya komputasi dan membuat kuota sebelum Anda menentukan parameter ini. Anda harus mengonfigurasi parameter berikut bersama dengan parameter ini:

      Catatan

      Fitur ini hanya tersedia untuk pengguna di daftar putih. Jika Anda ingin menggunakan fitur ini, hubungi manajer akun Anda untuk mengonfigurasi daftar putih.

      • Priority: prioritas instance TensorBoard. Nilai valid: 1 hingga 9. Nilai 1 menunjukkan prioritas terendah.

      • Job Resource: sumber daya yang Anda gunakan untuk menjalankan instance TensorBoard. Sumber daya termasuk jumlah vCPUs dan memory. Satuan ukuran memori adalah GiB.

      General Computing

    • VPC

      Jika Anda menggunakan Public Resources untuk membuat instance TensorBoard, parameter terkait virtual private cloud (VPC) tersedia.

      • Jika Anda tidak mengonfigurasi VPC, koneksi Internet digunakan. Dalam hal ini, sistem mungkin tersendat saat memulai instance TensorBoard atau saat melihat laporan karena lebar pita jaringan koneksi Internet yang terbatas.

      • Untuk memastikan lebar pita jaringan yang cukup dan performa yang stabil, kami merekomendasikan Anda mengonfigurasi VPC.

        Pilih VPC, vSwitch, dan grup keamanan di wilayah saat ini. Setelah menyelesaikan konfigurasi, kluster tempat instance TensorBoard berjalan dapat mengakses layanan di VPC yang dipilih dan menggunakan grup keamanan yang ditentukan untuk mengontrol akses.

        Penting

        Jika instance TensorBoard menggunakan dataset yang memerlukan VPC, seperti dataset Cloud Parallel File Storage (CPFS) atau dataset NAS yang memiliki titik mount di VPC, Anda harus mengonfigurasi VPC.

  4. Buka halaman TensorBoard untuk melihat laporan analisis.

    1. Di bilah navigasi kiri halaman ruang kerja, pilih AI Computing Asset Management > Jobs.

    2. Di tab TensorBoard, jika Status instance TensorBoard adalah Running, klik View TensorBoard di kolom Actions.

      Halaman TensorBoard akan muncul.image

Kelola instance TensorBoard

Ikuti langkah-langkah berikut untuk mengelola instance TensorBoard:

  1. Masuk ke Konsol PAI. Pilih wilayah tempat instance Anda berada di bilah navigasi atas dan pilih ruang kerja. Kemudian, klik Enter Jobs.

  2. Di tab TensorBoard halaman yang muncul, lakukan operasi berikut untuk mengelola instance TensorBoard.image

    • Mulai instance TensorBoard

      Klik Start di kolom Tindakan untuk memulai ulang instance TensorBoard yang dihentikan.

    • Lihat detail instance TensorBoard

      Klik nama instance TensorBoard. Di halaman detail instance TensorBoard, lihat Basic Information dan Configuration Information.

    • Lihat pekerjaan DLC terkait

      Lihat jumlah pekerjaan DLC yang dikaitkan dengan instance TensorBoard. Di tab Tensorboard, gerakkan pointer ke ikon image di kolom Associated Task untuk melihat ID pekerjaan DLC terkait. Klik ID untuk pergi ke halaman detail pekerjaan DLC.

    • Lihat dataset terkait

      Lihat jumlah dataset yang dikaitkan dengan instance TensorBoard. Di tab Tensorboard, gerakkan pointer ke ikon image di kolom Associated Dataset untuk melihat ID dataset terkait. Klik ID untuk pergi ke halaman detail dataset.

    • Lihat durasi berjalan

      Lihat durasi berjalan instance TensorBoard. Durasi berjalan dimulai saat instance dimulai. Setelah menghentikan instance TensorBoard, durasi berjalan akan diatur ulang. Di tab Tensorboard, lihat durasi berjalan instance TensorBoard di kolom Running Duration.

    • Hentikan instance TensorBoard

      • Klik Stop di kolom Actions instance TensorBoard.

      • Klik Auto-stop Settings di kolom Actions instance TensorBoard untuk menentukan waktu Anda ingin instance berhenti secara otomatis.

Referensi

Anda dapat membuat instance TensorBoard untuk pekerjaan DLC di halaman AI Asset Management > Jobs. Untuk informasi lebih lanjut, lihat Buat dan kelola instance TensorBoard.