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

با تشکر

دسته بندی ها

0 امتیاز

سلام.
داده های آموزش و اعتبارسنجی را به صورت tfrecord ذخیره کردم. تا جایی که اطلاع دارم وقتی از این نوع داده استفاده می کنم امکان استفاده از feed_dict را ندارم(زیرا feed_dict نوع تنسور را قبول نمی کند.). inference تابعی است که ورودی را دریافت کرده و logits را برمی گرداند. تابع lossو accuracy هزینه و دقت را محاسبه می کند. با کد زیر آموزش به خوبی انجام می شود. دقت در داده های آموزش بالا می رود و تابع هزینه کم می شود ولی دقت مجموعه اعتبارسنجی تقریبا ثابت است. با استفاده از تنسوربرد متوجه شدم که گراف دیگری برای این مجموعه درست می شود و اصلا از وزن های آموزش داده شده برای محاسبه دقت استفاده نمی شود. قبلا که داده ها را به صورت ارایه تعریف می کردم به این مشکل برنخورده بودم. برای این که دقت داده های اعتبار سنجی با استفاده از وزن های آموزش دیده محاسبه گردد باید چه کاری انجام دهم؟

def run_training():
train_images,train_labels = read_and_decode_tfrecord_train(train_data_path)
val_images,val_labels = read_and_decode_tfrecord_validation(validation_data_path)

train_images = tf.cast(train_images,tf.float32)/255.
val_images = tf.cast(train_images,tf.float32)/255.

batch_Xs,batch_Ys=tf.train.shuffle_batch([train_images,train_labels],batch_size=500,capacity=500,min_after_dequeue=100)
batch_xs,batch_ys=tf.train.shuffle_batch([val_images,val_labels],batch_size=500,capacity=500,min_after_dequeue=100)

logits=inference(batch_Xs,1)
total_loss = loss(logits,batch_Ys)
train_op = training(total_loss,learning_rate=LEARNING_RATE)
accuracy = evaluation(logits,batch_Ys)

val_logits=inference(batch_xs,1)
val_accuracy = evaluation(val_logits,batch_ys)

saver = tf.train.Saver(tf.all_variables(), max_to_keep=4,)

sess = tf.Session()
init = tf.initialize_all_variables()
sess.run(init)

tf.train.start_queue_runners(sess=sess)

for i in range(NUM_ITER):
    _,loss_value,acc=sess.run([train_op,total_loss,accuracy])

    if i%10==0:
        val_acc,testing_summary_accuracy=sess.run([val_accuracy,testing_summary])

        print 'Iteration:',i, ' Loss:',loss_value,' Train Accuracy:',acc,' Validation Accuracy:',val_acc
توسط (100 امتیاز)

لطفا وارد شده یا عضو شوید تا بتوانید سوال بپرسید

...