日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

快速提交Slurm訓(xùn)練任務(wù)

本文為您介紹如何提交Slurm類型的訓(xùn)練任務(wù)。

前提條件

提交Slurm類型的訓(xùn)練任務(wù)

步驟一:準(zhǔn)備訓(xùn)練腳本

準(zhǔn)備訓(xùn)練腳本文件mnist_train.py,并上傳到已創(chuàng)建的對象存儲OSS存儲空間中,詳情請參見控制臺快速入門。本任務(wù)使用的腳本文件示例內(nèi)容如下:

import tensorflow as tf
from tensorflow.keras import datasets, layers, models

# 加載MNIST數(shù)據(jù)集。
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()

# 歸一化數(shù)據(jù)集。
train_images, test_images = train_images / 255.0, test_images / 255.0

# 增加一個通道維度。
train_images = train_images[..., tf.newaxis]
test_images = test_images[..., tf.newaxis]

# 構(gòu)建模型。
model = models.Sequential([
    layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation='relu'),
    layers.MaxPooling2D((2, 2)),
    layers.Conv2D(64, (3, 3), activation='relu'),
    layers.Flatten(),
    layers.Dense(64, activation='relu'),
    layers.Dense(10)
])

# 編譯模型。
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])

# 創(chuàng)建TensorBoard回調(diào)。
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="/mnt/test/mnist_logs", histogram_freq=1)

# 訓(xùn)練模型。
model.fit(train_images, train_labels, epochs=5,
          validation_data=(test_images, test_labels),
          callbacks=[tensorboard_callback])

步驟二:提交訓(xùn)練任務(wù)

  1. 進(jìn)入新建任務(wù)頁面。

    1. 登錄PAI控制臺,在頁面上方選擇目標(biāo)地域,并在右側(cè)選擇目標(biāo)工作空間,然后單擊進(jìn)入DLC

    2. 在分布式訓(xùn)練(DLC)頁面,單擊新建任務(wù)

  2. 在新建任務(wù)頁面,配置以下關(guān)鍵參數(shù),其他參數(shù)配置說明,請參見創(chuàng)建訓(xùn)練任務(wù)

    參數(shù)

    描述

    基本信息

    任務(wù)名稱

    自定義任務(wù)名稱,例如mnist_cnn_tb。

    環(huán)境信息

    節(jié)點鏡像

    基于Linux操作系統(tǒng)的鏡像,無其他特殊要求。本方案使用的鏡像為tensorflow-training:2.13-gpu-py310-cu122-ubuntu22.04

    掛載配置

    當(dāng)腳本文件過大時,您可以選擇采用掛載的方式,將腳本文件掛載到容器的指定目錄下進(jìn)行操作。

    本任務(wù)以對象存儲(OSS)掛載為例,為您說明如何進(jìn)行掛載配置:

    單擊添加,掛載類型選擇對象存儲(OSS),并配置以下參數(shù):

    • OSS:選擇腳本文件mnist_train.py所在的對象存儲OSS的存儲路徑。

    • 掛載路徑:表示將腳本文件掛載到DLC容器的指定路徑。例如/mnt/test

    啟動命令

    任務(wù)需要執(zhí)行的命令:

    • 必須以#!/bin/bash開頭。

    • 系統(tǒng)允許自定義SBATCH參數(shù)配置,但建議避免手動設(shè)定資源分配參數(shù),因為平臺已自動化該過程,能根據(jù)需求動態(tài)分配資源。

      # 支持。
      #SBATCH --job-name=mnist_cnn_tb    # 作業(yè)名。
      #SBATCH --output=/mnt/test/mnist_train_%j.out    # 標(biāo)準(zhǔn)輸出與錯誤輸出的文件名。
      # 不建議使用,不保障正確性。
      #SBATCH --cpus-per-task=<N>    # 指定每個任務(wù)請求的CPU核心數(shù)。
      #SBATCH --mem=<M>    # 指定所需的內(nèi)存量,單位為MB。
      #SBATCH --mem-per-cpu=<M>    # 每個CPU核心的內(nèi)存需求。
      #SBATCH --gres=<resource>:<N>    # 請求特定類型的資源,例如GPU(如gpu:1)或其他通用資源。
      #SBATCH --nodes=<N>    # 指定請求的節(jié)點數(shù)。
      #SBATCH --ntasks=<N>    # 指定總共要運行的任務(wù)數(shù)。
      #SBATCH --ntasks-per-node=<N>    # 每個節(jié)點要運行的任務(wù)數(shù)。
      #SBATCH --partition=<partition>    # 指定要提交作業(yè)的分區(qū)。
      #SBATCH --time=<time>    # 指定作業(yè)的最大運行時間。
      #SBATCH --account=<account>    # 指定要使用的賬戶。

    本任務(wù)使用的啟動命令如下所示:

    #!/bin/bash
    #SBATCH --job-name=mnist_cnn_tb   			# 作業(yè)名
    #SBATCH --output=/mnt/test/mnist_train_%j.out  		# 標(biāo)準(zhǔn)輸出與錯誤輸出的文件名
    
    # 該命令啟動訓(xùn)練腳本。 
    srun /usr/bin/python3  /mnt/test/mnist_train.py

    資源信息

    資源來源

    本任務(wù)選擇公共資源。您也可以根據(jù)需要選擇其他類型的資源。

    框架

    選擇Slurm

    任務(wù)資源

    需要分別配置MasterWorker資源,本任務(wù)資源配置如下:

    • 節(jié)點數(shù)量:配置為1。

    • 資源規(guī)格:配置為ecs.g6.xlarge。

    保留時長

    建議將任務(wù)執(zhí)行完成后的實例保留時長設(shè)為1小時,以便在任務(wù)執(zhí)行不成功時能進(jìn)入容器內(nèi)部進(jìn)行問題排查。

    說明

    開啟任務(wù)保留會持續(xù)占用系統(tǒng)資源。

  3. 單擊確定

    系統(tǒng)將自動彈出任務(wù)預(yù)檢測對話框。image

    其中Slurm sbatch命令是系統(tǒng)自動生成的用于提交任務(wù)的命令。一旦任務(wù)被提交,系統(tǒng)將會自動將對應(yīng)的腳本文件掛載到目錄/usr/config/user_script下,并按所選的資源參數(shù)來執(zhí)行該腳本。

  4. 單擊仍要提交

    頁面將自動跳轉(zhuǎn)到分布式訓(xùn)練(DLC)頁面,您可以在該頁面查看已成功提交的訓(xùn)練任務(wù)。

管理訓(xùn)練任務(wù)

您可以對已創(chuàng)建的Slurm類型的任務(wù)進(jìn)行以下管理操作,更詳細(xì)的內(nèi)容介紹,請參見管理訓(xùn)練任務(wù)

  • 通過過濾框架類型,來篩選Slurm類型的任務(wù)。image

  • 查看任務(wù)詳情。

    分布式訓(xùn)練(DLC)頁面,單擊目標(biāo)任務(wù)名稱,進(jìn)入任務(wù)概覽頁面,在該頁面查看Surm類型任務(wù)的基本信息、資源信息、環(huán)境信息以及實例信息等。image

  • 定位任務(wù)運行失敗的原因

    本任務(wù)在啟動命令中配置了錯誤輸出日志路徑/mnt/test/mnist_train_%j.out,如下圖所示:image當(dāng)任務(wù)運行失敗時,您可以在任務(wù)概覽頁面的實例區(qū)域,單擊失敗實例操作列下的進(jìn)入容器,在指定目錄下查看錯誤輸出日志mnist_train_%j.out。本任務(wù)示例如下圖所示,您的任務(wù)以實際為準(zhǔn)。072063ac3d15f7eecfc1d94b81a55ea0

  • 查看任務(wù)結(jié)果

    本任務(wù)在訓(xùn)練腳本中預(yù)置了如圖所示輸出路徑以保存結(jié)果。當(dāng)任務(wù)運行成功后,您可以使用以下兩種方法查看任務(wù)結(jié)果:image

    • 在任務(wù)概覽頁面的實例區(qū)域,單擊目標(biāo)實例操作列下的進(jìn)入容器,在指定目錄下查看節(jié)點運行日志。本任務(wù)示例如下圖所示,您的任務(wù)以實際為準(zhǔn)。ac2b77c1cec145413d953bd2ddaf743f

    • 在創(chuàng)建訓(xùn)練任務(wù)時已掛載的對象存儲OSS的路徑中,查看任務(wù)結(jié)果。

相關(guān)文檔

分布式訓(xùn)練DLC(Deep Learning Containers)是基于云原生容器服務(wù)的深度學(xué)習(xí)訓(xùn)練平臺,為開發(fā)者和企業(yè)提供靈活、穩(wěn)定、易用和高性能的機(jī)器學(xué)習(xí)訓(xùn)練環(huán)境。您可以使用DLC提交多種類型的訓(xùn)練任務(wù),更多關(guān)于DLC的內(nèi)容介紹,請參見分布式訓(xùn)練(DLC)