2016-01-09 11 views
10

私はTensorFlowを初めて使用しており、画像認識に関するヘルプをお探ししています。TensorFlowを使用した画像認識

私はCIFAR-10モデルのトレーニングを見ましたが、それは提供していないように見えますが、画像認識のためにTensorFlowを使用する方法を紹介していますか?あなた自身の画像を訓練するための例。

+0

を再教育するためのPythonスクリプトを実行しますidxのためにあなたの画像を変換するmnisten https://github.com/nyanp/mnistenを使用することができますフォーマットを作成し、テンソルフローのmnistチュートリアルを使用し、http://stackoverflow.com/questions/33784214/how-to-test-tensorflow-cifar10-cnn-tutorial-model – alfredo138923

+0

@ alfredo1389で答えを使用してコードを修正してください。 mnistenスクリプトをビルドします。このエラーは 'src/main.cppからインクルードされたファイル:11: /usr/local/include/opencv/cv.hpp:50:10:エラー: 'cv.h'ファイルがで見つかりませんでした。 使用は代わりに の#include ^ のsrc/main.cppに "引用":12:10:致命的なエラー:見つからない 'opencv2/highgui.hpp' ファイル する#include ^ 2エラーが発生しました。 make:*** [mnisten] Error 1' –

答えて

7

イメージ認識を行うには、Googleの訓練されたインセプションモデルを使用することをおすすめします。 テンソルフローのWebサイトで、「新しいカテゴリの初期層を再試行する方法」の例を参照してください。それはhttps://www.tensorflow.org/versions/r0.9/how_tos/image_retraining/index.htmlにあります。

訓練されたモデルを使用することは簡単であり、合理的な精度を達成することができます。独自のデータセットでモデルをフィードするだけです。 Googleの最初の分類層は変更され、最後の層のみが訓練されます。いくつかのカテゴリの数千の画像については、トレーニングを終了するのに数時間しかかかりません。 注意:この例を使用するには、ソースからテンソルフローを構築する必要があります。

私は転送学習機能を使用しており、非常に良い結果を達成しています。移転学習の利点を説明するために、私は「訓練されたGoogleNetでの移転学習」と「5層コンビネットの構築と訓練」を比較しています。分類タスクは、5つのカテゴリを有する5000個の画像に対して行われる。

Build a 5-layer-convet and train it from scratch

Use the transfer learning on the trained GoogleNet

この単純な例を参照してください:https://www.youtube.com/watch?v=QfNvhPx5Px8(5分でTensorFlowイメージ分類器を構築する)

1

をこのレポは、独自のイメージのための最終層画像再教育を提供します。

training_「データセットフォルダ」に

をあなたのイメージを追加します(必要なクラスごとに少なくとも30枚の画像を。)より多くの画像を追加

まずImagenetファイルをダウンロードするにはbashスクリプトを実行します。

次に、検証精度などを出力して画像、

https://github.com/shivakrishna9/tensorflow-retrain

関連する問題