Tensorflow Workspace Save

Tensorflow workspaces for training your custom models of K210

Project README

Tensorflow Workspace for K210

Classifier for ImageNet

  1. Download ImageNet dataset, extract it as the instructions to ILSVRC2012_img_train, it has 1000 folders, each folder's name represents its class id.
  2. The model definition file is mobilenetv1/models/mobilenet_v1.py, ATTENTION, K210 does not support the method of SAME PADDING in tensorflow, so we need to add padding around the image manually before a stride=2 conv (in this situation, the padding method of conv layer with stride=2 should be set to VALID
  3. Modify mobilenetv1/run_mobilenet_v1.sh and start your training.
  4. Using freeze_graph.py to freeze your model from ckpt to pb, just run python mobilenetv1/freeze_graph.py model.mobilenet_v1 ckpt_fold pb_file
  5. Test on ImageNet, you need a val dataset of ImageNet, then run python mobilenetv1/validation_imagenet.py pb_file val_set_fold
  6. Estimate one image, run python mobilenetv1/predict_one_pic.py pb_file pic

ImageNet 分类器示例

  1. 下载ImageNet数据集,按照说明解压缩训练数据集到文件夹ILSVRC2012_img_train,内含1000个子文件夹,每个子文件夹的命名为其分类代号(类似n02484975),每个子文件夹内为该分类的训练数据
  2. mobilenet v1定义文件:mobilenetv1/models/mobilenet_v1.py,需要注意由于K210不支持tensorflow的SAME padding,所以在stride=2时先固定padding一圈0,然后再进行stride=2的卷积(padding=VALID)
  3. 训练脚本 mobilenetv1/run_mobilenet_v1.sh,根据需要修改其中的参数,然后运行
  4. freeze_graph.py将训练ckpt转成pb文件,命令格式如下:
    python mobilenetv1/freeze_graph.py model.mobilenet_v1 ckpt_fold pb_file
  5. 测试在ImageNet验证集上的性能,下载验证集,将文件按类别解压好(与训练集类似),运行 python mobilenetv1/validation_imagenet.py pb_file(or ckpt folder) val_set_fold
  6. 预测单张图片,python mobilenetv1/predict_one_pic.py pb_file(or ckpt folder) pic
Open Source Agenda is not affiliated with "Tensorflow Workspace" Project. README Source: kendryte/tensorflow-workspace
Stars
66
Open Issues
4
Last Commit
4 years ago

Open Source Agenda Badge

Open Source Agenda Rating