看看這個頁面,特別是這段代碼:
import boto3
account_id = boto3.client("sts").get_caller_identity().get("Account")
region = boto3.session.Session().region_name
ecr_repository = "r-in-sagemaker-processing"
tag = ":latest"
uri_suffix = "amazonaws.com"
processing_repository_uri = "{}.dkr.ecr.{}.{}/{}".format(
account_id, region, uri_suffix, ecr_repository tag
)
# Create ECR repository and push Docker image
!docker build -t $ecr_repository docker
!$(aws ecr get-login --region $region --registry-ids $account_id --no-include-email)
!aws ecr create-repository --repository-name $ecr_repository
!docker tag {ecr_repository tag} $processing_repository_uri
!docker push $processing_repository_uri
這顯然不是純Python?這些是 AWS CLI 命令嗎?我以前使用過 docker,但我發現這個例子非常混亂。有沒有人知道使用 sage maker/docker 在 AWS 中簡單地運行一些 R 作業的 end-2-end 示例?謝謝。
uj5u.com熱心網友回復:
這是混合了 shell 腳本魔術呼叫 (the !commands) 的Python 代碼。
魔術命令不是該平臺獨有的,您可以在Jupyter 中使用它們,但此特定代碼旨在在其平臺上運行。以一種相當復雜的方式運行 R 腳本作為處理作業。
但是,您唯一真正需要關注的是 R 腳本和最后兩個單元格塊。頂部的指令(不要更改此行)創建一個檔案(preprocessing.R),稍后執行,然后您可以看到結果。
只需按該順序運行所有代碼單元,在第一個單元中使用您自己的自定義 R 代碼。請注意plot_key = "census_plot.png"最后一個單元格中的行。這是指在 R 代碼中創建的影像。至于其他輸出型別(例如文本),您必須查找必要的 Python 包(PIL 是一個影像處理包)并相應地進行調整。
嘗試獲取 R 腳本生成的 CSV 檔案(此代碼未經驗證,因此您可能需要修復出現的任何問題):
import csv
csv_key = "plot_data.csv"
csv_in_s3 = "{}/{}".format(preprocessed_csv_data, csv_key)
!aws s3 cp {csv_in_s3} .
file = open(csv_key)
dat = csv.reader(file)
display(dat)
因此,現在您應該了解如何處理 R 腳本示例生成的兩種不同的輸出型別,然后您可以嘗試根據輸出內容調整自己的 R 代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/386886.html
