

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 下載 SageMaker Debugger 分析報告
<a name="debugger-profiling-report-download"></a>

在訓練任務執行期間或任務完成後，使用 Amazon SageMaker Python SDK 和 AWS Command Line Interface (CLI) 下載 SageMaker Debugger 分析報告。 [Amazon SageMaker ](https://sagemaker.readthedocs.io/en/stable) 

**注意**  
若要取得 SageMaker Debugger 所產生的分析報告，您必須使用 SageMaker Debugger 提供的內建 [ProfilerReport](https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-built-in-rules.html#profiler-report) 規則。若要在訓練工作中啟動規則，請參閱[設定內建分析規則](https://docs.aws.amazon.com/sagemaker/latest/dg/use-debugger-built-in-profiler-rules.html)。

**提示**  
您還可以隨時在 SageMaker Studio Debugger 詳情儀錶板控制器上按一下，下載報告。不需要任何額外的指令碼，即可下載報告。要瞭解如何從 Studio 下載報告，請參閱[開啟 Amazon SageMaker Debugger 深入分析儀表板](debugger-on-studio-insights.md)。

------
#### [ Download using SageMaker Python SDK and AWS CLI ]

1. 查看目前工作的預設 S3 輸出基底 URI。

   ```
   estimator.output_path
   ```

1. 查看目前的工作名稱。

   ```
   estimator.latest_training_job.job_name
   ```

1. Debugger 分析報告儲存名稱為 `<default-s3-output-base-uri>/<training-job-name>/rule-output`。設定規則輸出路徑，如下所示：

   ```
   rule_output_path = estimator.output_path + estimator.latest_training_job.job_name + "/rule-output"
   ```

1. 要檢查報告是否已生成，請在 `rule_output_path` 下使用 `aws s3 ls` 選定為 `--recursive`，以遞迴方式列出目錄和文件。

   ```
   ! aws s3 ls {rule_output_path} --recursive
   ```

   這會傳回文件的完整清單，文件位於一個名為 `ProfilerReport-1234567890` 的自動生成資料夾內。資料夾名稱是字串的組合：為 `ProfilerReport` 加上一個獨特的 10 位數標籤，是基於 ProfilerReport 規則起始時的 Unix 時間戳記。  
![規則輸出的範例](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/debugger/debugger-rule-output-ls-example.png)

   `profiler-report.html` 是由 Debugger 自動產生的分析報告。其他的檔案還有儲存在 JSON 中的內建規則分析元件，以及用來將元件彙總到報表內的 Jupyter 筆記本。

1. 使用 `aws s3 cp` 以遞迴方式下載文件。下列指令會將所有規則輸出檔案儲存到目前工作目錄下的 `ProfilerReport-1234567890` 資料夾中。

   ```
   ! aws s3 cp {rule_output_path} {{./}} --recursive
   ```
**提示**  
如果使用 Jupyter 筆記本伺服器，請執行 `!pwd` 再次檢查目前的工作目錄。

1. 在 `/ProfilerReport-1234567890/profiler-output` 目錄下，打開 `profiler-report.html`。如果使用 JupyterLab，請選擇 **Trust HTML** 查看自動產生的 Debugger 分析報告。  
![規則輸出的範例](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/debugger/debugger-rule-output-open-html.png)

1. 開啟 `profiler-report.ipynb` 檔案以探索報告產生的方式。您還可以使用 Jupyter 筆記本檔案來自訂和擴充分析報告。

------
#### [ Download using Amazon S3 Console ]

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 搜尋基礎 S3 儲存貯體。例如，如果您尚未指定任何基本作業名稱，則基礎 S3 儲存貯體名稱應採用下列格式：`sagemaker-<region>-111122223333`。透過*依名稱搜尋儲存貯體*欄位查詢基礎 S3 儲存貯體。  
![規則輸出 S3 儲存貯體 URI 的範例](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/debugger/debugger-report-download-s3console-0.png)

1. 在基礎 S3 儲存貯體中，在*依字首搜尋物件*輸入欄位中指定工作名稱的字首，藉以查詢訓練工作名稱。選擇訓練工作名稱。  
![S3 儲存貯體 URI 規則輸出的範例](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/debugger/debugger-report-download-s3console-1.png)

1. 在訓練工作的 S3 儲存貯體中，Debugger 收集的訓練資料必須有三個子資料夾：**debug-output/**、**profiler-output/** 和 **rule-output/**。請選擇**rule-output/**。  
![規則輸出 S3 儲存貯體 URI 的範例](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/debugger/debugger-report-download-s3console-2.png)

1. 在 **rule-output/** 資料夾中，選擇 **ProfilerReport-1234567890**，然後選擇 **profiler-output/** 資料夾。**profiler-output/** 資料夾包含 **profiler-report.html** (以 html 格式自動產生的分析報告)、**profiler-report.ipynb** (包含用於產生報告之指令碼的 Jupyter 筆記本)，以及一個 **profiler-report/** 資料夾 (包含作為報表元件的規則分析 JSON 檔案)。

1. 選取 **profiler-report.html** 檔案，選擇 **Actions**，然後選擇 **Download**。  
![規則輸出 S3 儲存貯體 URI 的範例](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/debugger/debugger-report-download-s3console-3.png)

1. 在 Web 瀏覽器中開啟下載的 **profiler-report.html** 檔案。

------

**注意**  
如果您在未設定 Debugger 特定參數的情況下開始訓練工作，則 Debugger 只會根據系統監視規則產生報告，因為 Debugger 參數並未被設定以儲存框架度量。若要啟用框架度量分析並收到擴充的 Debugger 分析報告，請在建構或更新 SageMaker AI 估算器時設定 `profiler_config` 參數。  
要瞭解如何配置 `profiler_config` 參數，請參閱[架構分析的估算器組態](debugger-configure-framework-profiling.md)。  
要更新目前訓練工作並啟用框架度量分析，請參閱[更新 Debugger 框架分析組態](debugger-update-monitoring-profiling.md)。