全部產品
Search
文件中心

Platform For AI:DSW 互動式建模快速入門

更新時間:Jun 11, 2026

通過 DSW(Data Science Workshop)的內建 Notebook 或 VSCode,在雲端開發、訓練並部署深度學習模型。本文以 MNIST 手寫數字識別為例,示範完整流程。

說明

MNIST 手寫數字識別是深度學習經典入門任務,目標是訓練模型識別 10 個手寫數字(0~9)。

一. 前提條件

主帳號已開通 PAI 並建立工作空間。如尚未開通,訪問PAI 控制台,在頁面左上方選擇目標地區,完成一鍵授權和產品開通。

二. 計費說明

本文使用公用資源群組建立 DSW 執行個體和 EAS 模型服務,隨用隨付。計費詳情參見DSW 計費說明EAS 計費說明

三. 建立 DSW 執行個體

  1. 進入 DSW 頁面。

    1. 訪問PAI 控制台

    2. 在頁面左上方選擇目標地區。

    3. 在左側導覽列單擊工作空间列表,進入目標工作空間。

    4. 在左側導覽列選擇模型开发与训练 > 交互式建模(DSW) > 新建实例

  2. 配置实例嚮導頁面配置以下參數,其他保持預設。

    • 资源类型:選擇公共资源(隨用隨付)。

    • 资源规格:選擇ecs.gn7i-c8g1.2xlarge

      該規格庫存不足時,可選擇其他 GPU 執行個體。
    • 镜像配置:選擇官方镜像,搜尋鏡像modelscope:1.26.0-pytorch2.6.0-gpu-py311-cu124-ubuntu22.04

      建議使用相同鏡像以避免環境相容問題。
    • 存储挂载:持久化儲存模型開發檔案。本文使用Object Storage Service。單擊 OSS,單擊表徵圖 image,選擇 Bucket 並建立目錄(例如pai_test)。

      如果當前地區沒有可用 Bucket,參考以下步驟建立:

      (可選)建立 OSS Bucket

      1. 開通OSS服務

      2. 訪問OSS 控制台,單擊建立 Bucket,填寫 Bucket 名稱地區選擇與 PAI 相同的地區,其他參數保持預設,單擊完成建立

        image

      • Urioss://**********oss-cn-hangzhou-internal.aliyuncs.com/pai_test/

      • 挂载路径/mnt/data/

  3. 單擊确定建立執行個體。

    執行個體啟動失敗時,參見建立DSW執行個體排查。

四. 在 DSW 中開發模型

  1. 在執行個體列表單擊打开,進入 DSW 開發環境。在啟動台單擊建立 Notebook

  2. 編寫模型代碼。本文已提供 MNIST 訓練代碼:下載mnist.ipynb,然後在 DSW 左上方單擊image表徵圖上傳檔案。

    image

  3. 訓練模型。開啟mnist.ipynb,找到訓練代碼儲存格,單擊image執行。代碼將自動下載 MNIST 資料集到dataSet目錄,並將訓練後的模型儲存至output目錄。訓練約需 10 分鐘。

    image

    image

    訓練過程輸出模型在驗證集上的準確率(反映泛化能力)。本次訓練驗證集準確率為 98%,可進入後續步驟。

  4. 查看訓練曲線。執行以下儲存格,單擊 TensorBoard 地址http://localhost:6006/

    image

    TensorBoard 顯示 train_loss(訓練集損失)和 validation_loss(驗證集損失)曲線。

    image

    查看完曲線後,單擊儲存格的image表徵圖停止 TensorBoard。未停止 TensorBoard 將導致後續儲存格無法執行。

    (可選)根據 loss 曲線調整超參數

    根據損失值變化趨勢判斷訓練效果:

    • 訓練結束前 train_loss 和 validation_loss 仍在下降(欠擬合)

      增加 num_epochs(訓練輪次)或提高 learning_rate(學習率),增強模型擬合能力。

    • 訓練結束前 train_loss 持續下降但 validation_loss 上升(過擬合)

      減少 num_epochs 或降低 learning_rate,避免過度學習。

    • 訓練結束前 train_loss 和 validation_loss 均趨於平穩(良好擬合)

      模型達到理想狀態,可進入後續步驟。

  5. 測試模型效果。執行以下儲存格,展示 20 張測試圖片及其真實標籤(label)和模型預測結果(predict)。

    image

    樣本輸出:

    image

  6. 持久化模型檔案。本文使用公用資源群組建立 DSW 執行個體,檔案儲存體在免費雲端硬碟中。執行個體停機超過 15 天后,雲端硬碟內容將被自動清空。將模型檔案拷貝至 OSS,以便後續使用 PAI-EAS 部署。

    image

    訪問OSS 控制台查看已拷貝的檔案:

    image

模型開發完成後,可將模型部署為線上服務,參見五. 使用 EAS 部署模型服務

重要

本文使用公用資源建立 DSW 執行個體,隨用隨付。不使用時請在執行個體列表頁面右側,停止或刪除執行個體,避免持續計費

五. 使用 EAS 部署模型服務

模型訓練完成後,可以通過EAS(Elastic Algorithm Service)快速部署為線上推理服務或AI-Web應用。EAS支援異構資源,結合自動擴縮容、一鍵壓測、灰階發布、即時監控等能力,以更低成本保障高並發情境下的服務穩定性與商務持續性。

  1. 編寫模型 Web 介面並拷貝至 OSS。本文提供了 Web 介面代碼和拷貝命令,執行以下儲存格即可。

    image

  2. (可選)在 DSW 中驗證 Web 介面。執行以下儲存格安裝依賴並啟動服務。

    image

    測試介面。在頁面上方單擊 WebIDE,左側單擊request_web.py,單擊image執行代碼。

    image

    返回結果:

    {"prediction": 7}
    說明

    通過公網訪問 DSW 中的 Web 服務需配置 VPC、NAT Gateway和 EIP,詳情參見通過公網訪問執行個體中的服務

  3. 建立 EAS 服務。在 PAI 控制台左側導覽列單擊模型在线服务(EAS) > 部署服务 > 自定义部署

    配置以下參數,其他保持預設:

    • 部署方式镜像部署

    • 镜像配置:選擇镜像地址,粘貼 DSW 使用的鏡像地址。

      DSW 已驗證該鏡像可正常運行模型代碼,部署時使用相同鏡像可避免環境問題。

      image

    • 存储挂载:模型檔案和 Web 介面代碼已拷貝至 OSS。單擊 OSS,選擇對應路徑。

      • Uri:oss://*****/pai_test/

      • 挂载路径:/mnt/data/

    • 运行命令web.py已掛載至/mnt/data/,需調整路徑。運行命令為:python /mnt/data/web.py

    • 端口号:填寫web.py使用的連接埠號碼9000

    • 三方库配置:所選鏡像缺少 bottle 庫,在此處添加 bottle

    • 资源类型:選擇公共资源资源规格選擇ecs.gn7i-c8g1.2xlarge

    • 配置系统盘:設定為 20GB。

      鏡像體積較大,系統硬碟空間不足時會導致執行個體啟動失敗,建議設定為 20 GB 或以上。

    單擊部署建立服務。建立約需 5 分鐘,狀態變為运行中時代表部署成功。

  4. 擷取調用資訊。在服務詳情頁單擊查看调用信息,擷取公网调用地址Token

  5. 調用服務。將以下代碼中的公网调用地址Token替換為實際值,然後執行代碼。

    import requests
    
    """
    測試圖片url:
    label為7
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg
    label為2
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_2_No_1.jpg
    label為1
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_1_No_2.jpg
    label為0
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_0_No_3.jpg
    label為4
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_4_No_4.jpg
    label為5
    http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_9_No_5.jpg
    """
    
    image_url = 'http://aliyun-document-review.oss-cn-beijing.aliyuncs.com/dsw_files/mnist_label_7_No_0.jpg'
    
    # 由用戶端下載圖片,得到位元據
    img_response = requests.get(image_url, timeout=10)
    # 根據狀態代碼自動檢測請求是否成功
    img_response.raise_for_status()
    img_bytes = img_response.content
    
    # header資訊 <EAS_TOKEN>需替換為實際的Token
    # 實際生產中建議您將Token設定為環境變數,防止敏感資訊洩漏
    # 環境變數配置方法請參見:https://www.alibabacloud.com/help/zh/sdk/developer-reference/configure-the-alibaba-cloud-accesskey-environment-variable-on-linux-macos-and-windows-systems
    headers = {"Authorization": "Token"}
    # 把位元據作為POST請求的body,發送到模型服務
    resp = requests.post('調用地址/predict_image', data=img_bytes, headers=headers)
    print(resp.json())

    返回結果:

    {"prediction": 7}
重要

本文使用公用資源建立 EAS 服務,隨用隨付。不使用時請在服務列表頁面右側,停止或刪除服務,避免持續計費

六. 相關文檔