本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂執行期環境
您可以自訂執行期環境,以使用偏好的本機整合開發環境 (IDEs)、 SageMaker 筆記本或 SageMaker Studio Classic 筆記本來撰寫 ML 程式碼。 SageMaker 將協助封裝和提交函數及其相依性,做為 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 檔案形式傳入相依性,如本區段第一個程式碼範例所述。