با سلام،
با توجه به برنامه زیر
https://www.tensorflow.org/get_started/mnist/beginners
من برنامه ای با دیتاست خودم که شامل تصاویر3×20×20
هست تعریف کردم....(البته همان تصاویر ترین رو مجددا برای تست دادم و بعد از رفع خطا تصاویر تست را اصلاح میکنم).....و برنامه زیر رو نوشتم:
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
try:
from scipy import misc
except ImportError:
!pip install scipy
from scipy import misc
############################################ train
training_size = 300
img_size = 20*20*3
training_data.images = np.empty(shape=(training_size,20,20,3))
import glob
i = 0
for filename in glob.glob('D:/Minutia/PrincipleWrinkleMinutia/*.jpg'):
image = misc.imread(filename)
training_data.images[i] = image
i+=1
print(training_data.images[0].shape)
a= [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
training_data.labels = tf.one_hot(a,3)
sess = tf.Session()
sess.run(training_data.labels)
#################################################### test
test_size = 300
img_size = 20*20*3
test_data = np.empty(shape=(test_size,20,20,3))
import glob
i = 0
for filename in glob.glob('D:/Minutia/PrincipleWrinkleMinutia/*.jpg'):
image = misc.imread(filename)
training_data[i] = image
i+=1
print(test_data[0].shape)
a= [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
test_labels = tf.one_hot(a,3)
sess = tf.Session()
sess.run(test_labels)
##############
#x=training_data
x = tf.placeholder(tf.float32, [None, img_size])
W = tf.Variable(tf.zeros([img_size, 3]))
b = tf.Variable(tf.zeros([3]))
y = tf.nn.softmax(tf.matmul(x, W) + b)
y_ = tf.placeholder(tf.float32, [None, 3])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
sess = tf.InteractiveSession()
tf.global_variables_initializer().run()
for _ in range(300):
batch_xs, batch_ys = training_data.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: test_data, y_: test_labels}))
که با خطای زیر مواجه شدم:
AttributeError Traceback (most recent call last)
<ipython-input-7-1be6ee216784> in <module>()
30 training_size = 300
31 img_size = 20*20*3
---> 32 training_data.images = np.empty(shape=(training_size,20,20,3))
33
34 import glob
AttributeError: 'numpy.ndarray' object has no attribute 'images'
فکر میکنم در خواندن تصاویر ورودی و لیبل های مربوطه هست...اگر بخوام training_data
رو به صورت ساختاری شامل تصویر و لیبل تعریف کنم ،لطفا منوراهنمایی بفرمایید...
سپاس