簡體   English   中英

TensorFlow 估計器的下載輸入路徑不正確

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM