我正在谷歌云平台上打包一个培训应用程序。我使用本地测试代码python -m
并gcloud ai-platform local train
找到它。但是当我将我的工作提交到谷歌云时,训练和测试数据集(在谷歌存储桶中)的路径不起作用。
我的存储桶目录:
my-models
|
|--dataset
|-train_set
| |-cat(100 files inside)
| |-dog(100 files inside)
|
|-test_set
|-cat(30 files inside)
|-dog(30 files inside)
我使用这个命令来提交我的工作
$JOB_ID --job-dir=$BUCKET_PATH_FOR_JOB \
--staging-bucket=$BUCKET_NAME \
--package-path=trainer \
--module-name=trainer.task \
--python-version=3.5 \
--region=us-east1 \
--runtime-version=1.14 \
-- \
--train_path='gs://my-models/dataset/train_set/' \
--test_path='gs://my-models/dataset/test_set/' \
...
这是我的一些代码:
def get_args():
parser.add_argument(
'--train_path',
type=Path,
action='store',
help='GCS or local path to training data',
required=True
)
parser.add_argument(
'--test_path',
type=Path,
action='store',
help='GCS or local path to testing data',
required=True
)
return parser.parse_args()
def get_classes(train_path, test_path):
train_dataset = list()
test_dataset = list()
train_classes = os.listdir(train_path)
test_classes = os.listdir(test_path)
return train_classes, test_classes
def main():
args = get_args()
train_path = args.train_path
test_path = args.test_path
train_classes, test_classes = get_classes(train_path, test_path)
...
我期望目录列表cat
以及dog
train_path 和 test_path 的输出。此外,读取目录中文件的可能方式。