初心者向けの公式のテンソルフローデータセットチュートリアルで練習していますが、検索エンジンから収集した自分の画像にムービーデータを変更しようとしています。テンソルフローの入力パイプライン
strFilePaths,iLabels ,strSubFolderNames,iNumTotalDatasets = ScanForImage('Datasets')
tsFileNameQueue = tf.train.string_input_producer(strFilePaths)
tsReader = tf.WholeFileReader()
_,tsImage = tsReader.read(tsFileNameQueue)
tsImage = tf.image.decode_jpeg(tsImage, channels=3)
tsImage = tf.cast(tsImage,tf.float32)
tsLabels = tf.convert_to_tensor(iLabels, dtype=tf.float32)
tsImage = tf.reshape(tsImage, shape=[1,168*300*3])
matWeights = tf.Variable(tf.random_normal([168*300*3, 2]))
vBiases = tf.Variable(tf.zeros([2]))
vPredictions = tf.nn.softmax(tf.matmul(tsImage, matWeights) + vBiases)
fCrossEntropy = tf.reduce_mean(-tf.reduce_sum(tsLabels * tf.log(vPredictions), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(fCrossEntropy)
init = tf.global_variables_initializer()
with tf.Session() as sess :
sess.run(init)
for i in range (1000) :
tsTrainingSets = tf.train.batch([tsImage,tsLabels], batch_size=100)
sess.run(train_step)
if i % 20 == 0 :
correct_prediction = tf.equal(tf.argmax(vPredictions,1),tf.argmax(tsTrainingSets[1],1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
print(sess.run(accuracy))
strFilePathsはすべての画像パスを含む標準のpythonリストです.iLabelsはラベルを表すリストのリストです。この場合、私は2つのクラスしか持っていません。
このプログラムはエラー出力なしで実行されますが、テンソルフローは実行し続けるだけで、出力は得られません。私はテンソルフローのウェブサイトの「読み込みファイル」セッションを何千回も読んだことがありますが、私が正しいことをしたかどうかの手がかりはまだありません。
Q1:このコードで何が問題になっていますか? Q2:jpegファイルをテンソルフローに読み込んでいくつかのトレーニングタスクを実行する方法に関する完全な例はありますか?
画像再訓練のチュートリアルすなわちhttps://github.com/tensorflow、デコードJPEGを使用しています。しかし、あなたは、ATが
image_retraining
例では、情報の新しいカテゴリ(例えば花)を認識するためにインセプションを再教育する方法の完全な例を見ることができます/tensorflow/blob/4433079e7f317724eaa92ec120c6b1c3c0c52f2f/tensorflow/examples/image_retraining/retrain.py –