zoukankan      html  css  js  c++  java
  • How to setup Tensorflow inception-v3 model on Windows

    There is Inception-v3 model python implementation on GitHub at: https://github.com/tensorflow/models/tree/master/inception 

            There are several shell scripts in /inception/inception/data folder. these scripts only can run on Linux OS, especially on Ubuntu. So. how can we set up the Inception-v3 model on Windows. let's dive into these scripts code.

            In download_and_preprocess_flowers.sh. first, the script download flower_photo.tgz file from the web. second, make some directories and set some environment. these folders are used to store flowers data and flower train and validate data after processing. almost environment variables are used as the argument in last scripts call. 

    • DATA_DIR : root directory after unpacking flower_photo.tgz file.
    • TRAIN_DIRECTORY : the sub-directory of flower data. always be "flowers-data/raw-data/train".
    • VALIDATION_DIRECTORY: the sub-directory of flower data that store pictures for validating. always be "flowers-data/raw-data/validation".
    • LABELS_FILE: the file path of lable.txt, always be "flowers-data/raw-data/labels.txt".
    • OUTPUT_DIRECTORY : somewhere to store processed data.

          Then, the script will call another script build_image_data.py.

          There are some arguments in this script. we can use environment variables we just set before or set the specific path to these arguments. notice, we just call the build_image_data.py script directly with a command: python build_image_data.py --train_directory="${TRAIN_DIRECTORY}" --validation_directory="${VALIDATION_DIRECTORY}" --output_directory="${OUTPUT_DIRECTORY}" --labels_file="${LABELS_FILE}

    this script will convert separated pictures to a union file batch with TFRecords format with Examples protos.

          The Example proto:
    contains the following fields:

    image/encoded: string containing JPEG encoded image in RGB colorspace
    image/height: integer, image height in pixels
    image/ integer, image width in pixels
    image/colorspace: string, specifying the colorspace, always 'RGB'
    image/channels: integer, specifying the number of channels, always 3
    image/format: string, specifying the format, always'JPEG'

    image/filename: string containing the basename of the image file
    e.g. 'n01440764_10026.JPEG' or 'ILSVRC2012_val_00000293.JPEG'
    image/class/label: integer specifying the index in a classification layer.
    The label ranges from [0, num_labels] where 0 is unused and left as
    the background class.
    image/class/text: string specifying the human-readable version of the label
    e.g. 'dog'

           After processing, we can find some training and validation files in the DATA_DIR. 

          Before training. we have to do some adjustment to the source code. because Inception-v3 is written with an older version of tensorflow. some API has already discarded. 

    • tf.scalar_summary    ->  tf.summary.scalar
    • tf.histogram_summary -> tf.summary.histogram
    • tf.merge_summary  -> tf.summary.merge
    • tf.train.SummaryWriter -> tf.summary.FileWriter
    • tf.concat(0,[ymin, xmin, ymax, xmax]) -> tf.concat([ymin, xmin, ymax, xmax],0)  switch argument.

          Maybe, there also has some error. just look up tensorflow documentation and change it.

          We also need to do one step in addition before we start training. cause these python scripts are separated not in a python package. we need to add an empty __init__.py file to inception folder. and make a replica of flowers_train.py on parent-directory. then execute this script.

          Make sure you have already installed tensorflow on your windows. notice, tensorflow only supports python 3.4+ on Windows, and there are two types tensorflow, one is CPU only, another is tensorflow-GPU. if you have a GPU have enough compute ability, you can choose the GPU version.  check Installing guide on the tensorflow website is helpful. https://www.tensorflow.org/install/install_windows 

         We will discuss some arguments in flower_train.py in after articles.

  • 相关阅读:
    爬虫--urllib,requests模块
    ADO.NET实用经验汇总
    MVC框架的优点-老外的原文翻译
    ASP.NET MVC 3: Razor的@:和语法
    html做表格只显示表格的外边框
    ASP.NET 页生命周期概述
    Asp.Net母版页元素ID不一致的体现
    Asp.Net套用母版页后元素ID不一致之个人总结
    ASP.NET 4.0配置文件中的ClientIDMode属性
    Asp.Net母版页和内容页运行机制
  • 原文地址:https://www.cnblogs.com/silent-stranger/p/6559513.html
Copyright © 2011-2022 走看看