如何准备 imagenet 数据集来运行 resnet50(来自官方 Tensorflow Model Garden)训练

时间:2021-03-21 20:07:33

标签: tensorflow imagenet tensorflow-model-garden

我想在本地 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 数据集的分步指南。将不胜感激!

1 个答案:

答案 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

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

相关问题