به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

با سلام،
با توجه به برنامه زیر

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 رو به صورت ساختاری شامل تصویر و لیبل تعریف کنم ،لطفا منوراهنمایی بفرمایید...

سپاس

توسط (145 امتیاز)
ویرایش شده توسط

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام

class Struct:
    "A structure that can have any fields defined."
    def __init__(self, **entries): self.__dict__.update(entries)

مثل زیر استفاده کنید :

training_data= Struct(training_set=X, labels=Y')
#do anything you like!
training_data.training_set =..... 
training_data.labels = ...

اطلاعات بیشتر

توسط (4.3k امتیاز)
انتخاب شده توسط
خیلی ممنونم ازراهنمایی بسیار مفیدتون.....
من هم داده تست و هم ترین رو مشابه روشی که فرمودید تعریف کردم:

https://pastebin.com/AMN3xWWw

اما درنهایت با خطای:
'Struct' object has no attribute 'next_batch'
مواجه شدم....
به نظرم من باید next batch رو هم متناسب با برنامه خودم تعریف کنم....
سلام بله next_batch رو باید خودتون تعریف کنید. میتونید از نمونه mnist ایده بگیرید و پیاده سازی کنید این بخش رو
سپای از لطف و راهنمایی جنابعالی
...