[英]TensorFlow estimator is getting incorrect download input path
我正在嘗試在 Sagemaker Studio 中運行 TensorFlow 估計器。 這在過去是有效的,但是在保存我筆記本的 html 文件后,該路徑現在被附加到我提供的目錄中,以下載訓練 session 的輸入數據。
我的代碼:
# Set base model name that is used to save and load the model. Append a timestamp to it for uniqueness if batch tuning.
#Model Definition File
model_file = "Model.py"
#Input data saved as .npy
input_name = "inputdata.npy"
#Label data saved as .npy
label_name = "inputlabels.npy"
#Test data saved as .npy
test_name = "testdata.npy"
#Test labels saved as .npy
test_labels ="testlabels.npy"
#Path for trained model
bucket_dir = "s3://my-bucket"
#Bucket for trained model
bucket = "my-bucket"
model_name = "my_model"
model_name = model_name + ct.strftime("-%m%d%y-%H%M%S")
load_model_dir = os.path.join(bucket_dir,model_name)
data_dest = "/" + model_name + "/"+ input_name
print(logfile_name)
print(model_name)
print(load_model_dir)
print(data_dest)
#Define hyperparameters for hyperparameter tuning and set default values
shared_hyperparameters = {
'bucket': bucket,
'model_name': model_name,
'model_dir':model_name,
'sm_model_dir':model_name,
'logfile_name': logfile_name,
'train_data': input_name,
'learning_rate': .001,
'epochs': 100,
'train': bucket_dir,
'test': bucket_dir,
'train_labels':label_name,
'test_data': test_name,
'test_labels': test_labels
}
...
aws_estimator = TensorFlow(
entry_point= model_file, #Model definition .py file
bucket = bucket,
role= role,
instance_count=1,
instance_type="ml.m5.2xlarge",
framework_version="2.1.0",
py_version="py3",
distribution={"parameter_server": {"enabled": True}},
hyperparameters = shared_hyperparameters,
metric_definitions = metric_definitions,
log="All",
my_name = model_name,
log_name = logfile_name,
train_data = input_name,
train_labels=label_name,
)
history = aws_estimator.fit(bucket_dir)
這會導致以下錯誤:
UnexpectedStatusException:訓練作業 tensorflow-training-2021-11-19-22-51-12-360 出錯:失敗。 原因:ClientError:數據下載失敗:S3 key:s3://my-bucket/s3://my-bucket/model_dir/my-notebook.html有一個非法的char子序列'//'
我不確定為什么之前沒有將 HTML 文件的路徑附加到 bucket_dir 上。 我在 AWS 論壇上看到了類似的問題,但沒有提供有用的回復。 我嘗試在訓練前后打印出 SM_CHANNEL_TRAINING 環境變量是什么,它是無。
我不確定您的問題是什么,但奇怪的是您將大量不存在的參數傳遞給 TensorFlow 估計器 object (例如,“桶”)。
開始時我建議清理一些東西:查看已知參數列表(同時檢查基類:Framework 和 EstimatorBase),刪除不存在的參數,然后重試。
出於某種原因,當我切換到使用 TensorFlow 2.3 而不是 2.7 運行實例時,這個問題得到了解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.