我想在本地 GPU 服务器上的 imagenet2012 数据集上训练 resnet50 模型,完全按照以下 Tensorflow 官方页面:https://github.com/tensorflow/models/tree/master/official/vision/image_classification#imagenet-preparation 但是,我不知道如何准备 imagenet2012 训练和验证数据集,以便我可以像这样开始训练:
python3 classifier_trainer.py \
--mode=train_and_eval \
--model_type=resnet \
--dataset=imagenet \
--model_dir=$MODEL_DIR \
--data_dir=$DATA_DIR ??? \ # ----------> HOW TO CONFIG THIS DIR IF I HAVE DOWNLOADED THE DATA??
--config_file=configs/examples/resnet/imagenet/gpu.yaml \
--params_override='runtime.num_gpus=$NUM_GPUS'
具体来说,我已下载数据集作为两个 tar 文件:ILSVRC2012_img_train.tar
,ILSVRC2012_img_val.tar
到 \myPath
目录,按照说明:https://github.com/tensorflow/datasets/blob/master/docs/catalog/imagenet2012.md#imagenet2012
谁能告诉我准备数据集和设置配置的确切步骤(通过命令行参数或在 configs/examples/resnet/imagenet/gpu.yaml 中设置)。
PS1,我注意到训练脚本可以使用两种类型的数据集:1) using TFDS 2) using TFRecords。我已经使用 page 底部的 shell 脚本创建了 TFRecords 数据集,但仍然不知道如何设置配置。 TF 似乎推荐 TFDS,但只要我能成功运行训练,我就可以使用 TFRecords 格式。目前,我已经有以下形式的训练和验证 TFRecords 文件:
${DATA_DIR}/train/train-00000-of-01024
${DATA_DIR}/train/train-00001-of-01024
...
${DATA_DIR}/train/train-01023-of-01024
${DATA_DIR}/validation/validation-00000-of-00128
S{DATA_DIR}/validation/validation-00001-of-00128
...
${DATA_DIR}/validation/validation-00127-of-00128
PS2:希望 TF 社区可以为像我这样的初学者提供一个清晰的准备 imagenet 数据集的分步指南。将不胜感激!
答案 0 :(得分:1)
你能得到for的输出吗:
python imagenet_to_gcs.py \
--raw_data_dir=$IMAGENET_HOME \
--local_scratch_dir=$IMAGENET_HOME/tf_records \
--nogcs_upload
以下格式?
${DATA_DIR}/train-00000-of-01024
${DATA_DIR}/train-00001-of-01024
...
${DATA_DIR}/train-01023-of-01024
${DATA_DIR}/validation-00000-of-00128
S{DATA_DIR}/validation-00001-of-00128
...
${DATA_DIR}/validation-00127-of-00128
我已经阅读了很多执行您希望完成的任务的文章,并且他们遵循了与您类似的步骤,但我找不到让您陷入困境的原因。如果您还可以提供任何其他信息,例如您收到的错误或其他信息,也许我可以更好地理解这个问题?