代码之家  ›  专栏  ›  技术社区  ›  Abduoit

使用我自己的图像成功训练Tensorflow,但仍然存在问题

  •  0
  • Abduoit  · 技术社区  · 7 年前

    我使用的是ubuntu 16.04,带有GPU Geforce 1080,8 GB GPU内存。

    我已经正确地创建了TF记录文件,并且成功地训练了模型。然而,我仍然有两个问题。

    我做了以下步骤,但仍然有两个问题,请告诉我我缺少什么:-

    我正确地创建了两个文件:- pascal_train.record pascal_val.record

    然后

    1-从此 link models/object_detection/VOCdevkit/VOC2012/JPEGImages (在我删除之前的图片后)。

    models/object_detection/VOCdevkit/VOC2012/Annotation (在我删除之前的内容之后)。

    models/object_detection/data/pascal_label_map.pbxt 我写了一个类名 'raccoon'

    3-我用过 ssd_mobilenet_v1_pets.config ssd_mobilenet_v1_coco_11_06_2017/model.ckpt

       fine_tune_checkpoint: "/home/jesse/abdu-py2/models/model/ssd_mobilenet_v1_coco_11_06_2017/model.ckpt"
    
      from_detection_checkpoint: true
    

    4-从此 link 我将数据结构安排如下:-

    1. models

      1.1 model

       1.1.1 ssd_mobilenet_v1_pets.config
      
       1.1.2 train
      
       1.1.3 evaluation
      
       1.1.4 ssd_mobilenet_v1_coco_11_06_2017/model.ckpt
      

      object_detection

      1.2.1 data 包含(pascal\u train.record、pascal\u val.record和pascal\u label\u map.pbtxt)

      VOCdevkit

      1.2.2.1 VOC2012
      
         1.2.2.1.1 JPEGImages (my own images)
      
            1.2.2.1.2 Annotations (raccoon annotation)
            1.2.2.1.3 ImageSets
              1.2.2.1.3.1 Main (raccoon_train.txt,raccoon_val.txt,raccoon_train_val.txt)       
      

    5-现在,我将训练我的模型

    (abdu-py2) jesse@jesse-System-Product-Name:~/abdu-py2/models$ python object_detection/train.py --logtostderr --pipeline_config_path=/home/jesse/abdu-py2/models/model/ssd_mobilenet_v1_pets.config --train_dir=/home/jesse/abdu-py2/models/model/train
    

    一切看起来都很好,我创建了很多文件,比如 checkpoint events.out.tfevents.1503337171 经过数千个训练步骤后归档(和其他)。

    然而,我的两个问题是:-

    link ,我无法运行评估 eval.py (出于记忆原因)同时 train.py

    2-我试图使用 我根据训练步骤创建的文件,但它似乎没有正确创建。

    提前感谢

    编辑:-

    我想出了如何转换 events 文件和 model.ckpt inference_graph_.pb . 这个 可以稍后测试 object_detection_tutorial.ipynb . 就我的情况而言,我试过了,但我什么也检测不到,因为我在这期间的某个地方弄错了 火车py公司

    以下步骤将经过训练的文件转换为 .pb 文件夹

    (abdu-py2) jesse@jesse-System-Product-Name:~/abdu-py2/models$ python object_detection/export_inference_graph.py \
    
    --input_type image_tensor  \
    
     --pipeline_config_path /home/jesse/abdu-py2/models/model/ssd_mobilenet_v1_pets.config \
    
    --trained_checkpoint_prefix /home/jesse/abdu-py2/models/model/train/model.ckpt-27688 \
    
     --output_directory /home/jesse/abdu-py2/models/model
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   ncaadam    7 年前

    问题1-这只是由于您的硬件而会遇到的问题。一旦您想要评估模型,只需停止训练并运行eval命令(看起来您已经成功评估了模型,所以您知道该命令)。它将为您提供最新模型检查点的一些指标。您可以迭代这个过程,直到对模型的性能感到满意为止。

    问题2-这些事件文件用作Tensorboard的输入。事件文件为二进制格式,因此不可读。在模型训练和/或评估时启动张力板应用程序。为此,请运行以下操作:

    tensorboard --logdir=train:/home/grasp001/abdu-py2/models/object_detection/train1/train,eval:/home/grasp001/abdu-py2/models/object_detection/train1/eval

    运行Tensorboard后,使用web浏览器导航到 localhost:6006

        2
  •  0
  •   Eric Aya Duarte    6 年前

    教练会话配置后的py行370

    session_config.gpu_options.per_process_gpu_memory_fraction = 0.5
    

    然后你可以运行eval。同时py。如果需要,tensorflow会独立使用所有可用内存