自訂執行期環境 - Amazon SageMaker

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

自訂執行期環境

您可以自訂執行期環境,以使用偏好的本機整合開發環境 (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 檔案形式傳入相依性,如本區段第一個程式碼範例所述。