2017-01-14 8 views
0

Практикуясь в официальном учебном пособии для nistas для начинающих, я пытаюсь изменить данные mnist на свои собственные изображения, собранные из поисковых систем.входной конвейер в тензорном потоке

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 стандартный список питона, содержащий все мои пути изображения, iLabels список списков, представляющих метки. И в этом случае у меня есть только 2 класса.

Эта программа работает без вывода ошибок, но функция tensorflow просто продолжает работать и не дает мне никакого выхода. Я прочитал сессию «чтение файлов» на веб-сайте tensorflow как тысячу раз, но я до сих пор не знаю, правильно ли я делал это.

Q1: Что не так с этим кодом? Q2: Есть ли какой-нибудь полный пример того, как читать jpeg-файлы в тензорном потоке и выполнять на них некоторые обучающие задания?

+0

Учебное пособие по переподготовке изображений использует декодирование jpeg, то есть https://github.com/tensorflow /tensorflow/blob/4433079e7f317724eaa92ec120c6b1c3c0c52f2f/tensorflow/examples/image_retraining/retrain.py –

ответ

0

К сожалению, без доступа к вашему коду и файлам я не могу помочь вам отладить дальнейшие действия. Тем не менее, вы можете увидеть полный пример того, как переучивать Inception распознавать новые категории информации (например, цветы) в примере image_retraining по адресу: https://github.com/tensorflow/tensorflow/blob/r1.1/tensorflow/examples/image_retraining/retrain.py

 Смежные вопросы

  • Нет связанных вопросов^_^