1

我想在我的本地 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.tarILSVRC2012_img_val.tar\myPath目录,按照说明:https ://github.com/tensorflow/datasets/blob/master/docs/catalog/imagenet2012.md#imagenet2012 谁能告诉我准备数据集和设置配置的确切步骤(通过命令行参数或在 configs/examples/resnet/imagenet/gpu.yaml 中设置)。

PS1,我注意到训练脚本可以使用两种类型的数据集:1)使用 TFDS 2)使用 TFRecords我已经使用页面底部的 shell 脚本创建了 TFRecords 数据集,但仍然不知道如何设置配置。TFDS似乎是TF推荐的,但只要我能成功运行培训,我就可以接受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 数据集的指南。将不胜感激!

4

1 回答 1

3

你能得到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

我已经阅读了很多执行您希望完成的任务的文章,并且他们遵循了与您类似的步骤,但我找不到让您陷入困境的原因。如果您可以提供任何其他信息,例如您遇到的错误或其他信息,也许我可以更好地理解这个问题?

于 2021-03-22T11:36:31.447 回答