本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以自訂執行期環境,以使用您偏好的本機整合開發環境 (IDEs)、SageMaker 筆記本或 SageMaker Studio Classic 筆記本來撰寫 ML 程式碼。SageMaker AI 將協助您封裝和提交函數及其相依性,做為 SageMaker 訓練任務。這可讓您存取 SageMaker 訓練伺服器的容量,以便執行訓練工作。
遠端裝飾項目與調用函式的 RemoteExecutor
方法都允許使用者定義及自訂其執行期環境。您可以利用 requirements.txt
檔案或 conda 環境 YAML 檔案。
若要同時利用 conda 環境 YAML 檔案與 requirements.txt
檔案來自訂執行期環境,請參閱下列程式碼範例。
# specify a conda environment inside a yaml file @remote(instance_type="
ml.m5.large
", image_uri = "my_base_python:latest
", dependencies = "./environment.yml") def matrix_multiply(a, b): return np.matmul(a, b) # use a requirements.txt file to import dependencies @remote(instance_type="
ml.m5.large
", image_uri = "my_base_python:latest
", dependencies = './requirements.txt
') def matrix_multiply(a, b): return np.matmul(a, b)
或者,您可以設定 dependencies
為 auto_capture
,讓 SageMaker Python SDK 在已啟用的 conda 環境擷取已安裝的相依性。若要讓 auto_capture
以可靠的方式運作 ,需要以下內容:
-
您必須擁有己啟用的 conda 環境。建議不要將
base
conda 環境用於遠端工作,以便減少潛在的相依性衝突。不採用base
conda 環境還可讓您以更快速度進行遠端工作環境設定。 -
您不能使用帶有參數
--extra-index-url
值的 pip 來安裝任何相依性。 -
在本機開發環境,使用 conda 安裝的套件與使用 pip 安裝的套件之間,不得有任何相依性衝突。
-
本機開發環境不得包含與 Linux 不相容的作業系統特定相依性。
如果 auto_capture
無法運作,建議您以 requirement.txt 或 conda environment.yaml 檔案形式傳入相依性,如本區段第一個程式碼範例所述。