входной трубопровод в тензорном потоке

Практикуясь на официальном учебнике TensorFlow MNIST dataset для начинающих, я пытаюсь изменить данные 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-это стандартный список python, содержащий все пути к моему образу, iLabels-это список списков, представляющих метки. А у меня всего 2 класса в данном случае.

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

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

1 ответ

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