2 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
2. Use a bash script to copy the packages from s3 using the CLI. The bash script I used is based off this post. But the packages never get copied, and an error message is not thrown.
這種方法似乎很合理。
您最好覆蓋tocommand
上的字段,運(yùn)行 bash 腳本,就像安裝包含 python 依賴項(xiàng)的wheel,然后運(yùn)行主 python 入口點(diǎn)腳本。SKLearnProcessor
/bin/bash
install_and_run_my_python_code.sh
此外,您可以使用ProcessingInput來下載代碼,而不是使用AWS S3調(diào)用來下載腳本中的代碼,而不是使用bash腳本中的AWS CLI調(diào)用來下載代碼,這就是SKLearnProcessor
下載入口點(diǎn)script.py
代碼的方法。所有實(shí)例。

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
還有其他一些選擇。這是我能想到的所有選項(xiàng)(有些已經(jīng)提到了)
使用
sagemaker.processing.*Processor.run(code=<bash script>)
bash 腳本從存儲(chǔ)庫(kù)中提?。禾峤坏?Codecommit/Github/Bitbucket 存儲(chǔ)庫(kù),并使用您的運(yùn)行 bash 腳本通過從同一存儲(chǔ)庫(kù)克隆來進(jìn)行設(shè)置Hijack
ProcessingInput
:指向ProcessingInput
本地目錄,或者通過將文件上傳到 S3 并指向ProcessingInput
同一個(gè) S3 來進(jìn)行預(yù)先設(shè)置。將您的庫(kù)打包并推送到本地存儲(chǔ)庫(kù)(Nexus、EC2、CodArtifact,支持此),然后像任何帶有 bash 運(yùn)行文件的 python 包一樣安裝它們。
劫持
sagemaker.sklearn.estimator
并用于source_dir
指定您的整個(gè)源目錄從包中編譯一個(gè)輪子并推送到容器并
ProcessingInput
安裝。
這些都不是很好。我沒有做1,因?yàn)槲也幌朊看味纪扑妥钚碌拇a來測(cè)試,不想構(gòu)建一個(gè)包(3)或編譯一個(gè)輪子(5),并使用估計(jì)器來運(yùn)行處理作業(yè)似乎是錯(cuò)誤的。使用 2,在我的情況下,有必要將單個(gè)文件放在正確的位置(ProcessingInput
不支持單個(gè)文件,并且我在更高的目錄中有 pyproject.toml),因此運(yùn)行該作業(yè)的作業(yè)腳本通過訂購(gòu)進(jìn)行預(yù)先設(shè)置并將文件上傳到 S3,我在ProcessingInput
.
添加回答
舉報(bào)