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

با تشکر

دسته بندی ها

0 امتیاز

سلام و عرض احترام
با راهنمایی هایی که تو سوالات مختلف بود سعی کردم یه بار معماری AlexNet رو روی دیتا ستم پیاده کنم .فارغ از اینکه نتیجه خوبی میده یانه.
ابتدا دیتا رو لود کردم .سپس خود معماری رو قرار دادم بعد از آن شروع به آموزش کردم.مرحله آخر باید تست رو انجام بدم.
حال سوال من اینه که با توجه با اینکه هر عکس من 32*32 است آیا خود معماری و فیلترها دستخوش تغییر میشه؟
آیا روند کارم درست هست و ترتیب نوشتن کد درست هست؟کد رو در زیر ضمیمه کردم
ممنون وسپاس

ایمپورت کردن ماژول ها

import numpy as np
import matplotlib.pyplot as plt
try:
    from scipy import misc
except ImportError:
    !pip install scipy
    from scipy import misc

لود کردن دیتا

training_data = np.empty(shape=(training_size, img_size))  

import glob
i = 0
for filename in glob.glob('/folder name/image format'): 
    image = misc.imread(filename)
    training_data[i] = image.reshape(-1)
    i+=1


print(training_data[0].shape)

ریشیپ کردن و تبدیل به تنسور

?????

Building 'AlexNet'

network = input_data(shape=[None, 227, 227, 3])
network = conv_2d(network, 96, 11, strides=4, activation='relu')
network = max_pool_2d(network, 3, strides=2)
network = local_response_normalization(network)
network = conv_2d(network, 256, 5, activation='relu')
network = max_pool_2d(network, 3, strides=2)
network = local_response_normalization(network)
network = conv_2d(network, 384, 3, activation='relu')
network = conv_2d(network, 384, 3, activation='relu')
network = conv_2d(network, 256, 3, activation='relu')
network = max_pool_2d(network, 3, strides=2)
network = local_response_normalization(network)
network = fully_connected(network, 4096, activation='tanh')
network = dropout(network, 0.5)
network = fully_connected(network, 4096, activation='tanh')
network = dropout(network, 0.5)
network = fully_connected(network, 17, activation='softmax')
network = regression(network, optimizer='momentum',
                     loss='categorical_crossentropy',
                     learning_rate=0.001)

آموزش

model = tflearn.DNN(network, checkpoint_path='model_alexnet',
                    max_checkpoints=1, tensorboard_verbose=2)
model.fit(X, Y, n_epoch=1000, validation_set=0.1, shuffle=True,
          show_metric=True, batch_size=64, snapshot_step=200,
          snapshot_epoch=False, run_id='alexnet_oxflowers17')

تست

؟؟

توسط (211 امتیاز)
با سلام و احترام....
در قسمت:
network = regression(network, optimizer='momentum',
                     loss='categorical_crossentropy',
                     learning_rate=0.001)
من با خطای :
name 'regression' is not defined
مواجه میشم.....ممکنه لطفا راهنمایی بفرمایید.
سپاس

1 پاسخ

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

سلام
شما که هنوز لیبل ها رو نخوندین! (شیوه خوندن لیبلها رو هم اینجا دادم بطور خلاصه)
تو بخش اموزش اون X همون training_data شما هست و Y همون ارایه حاوی لیبلهای شماس!(یادتون باشه بایدبصورت Onehot encoded درش بیارید. برای اینکار میتونید از تابع to_categorical(Labels, number_of_classes) استفاده کنید علاوه بر اون باید ایمپورتهای مربوط به tflearn رو هم اضافه کنید.
برای اموزش و تست هم اینو استفاده کنید :

model.fit(X, Y, n_epoch=1000, validation_set=(data_test, label_test),
          shuffle=True, show_metric=True, batch_size=64, snapshot_step=200,
          snapshot_epoch=False, run_id='alexnet_rostak_test')

یادتون باشه داده تست و لیبلش رو هم بخونید!

توسط (4.3k امتیاز)
ویرایش شده توسط
سپاس از لطف جنابعالی.
با سلام...
درمتن سوال در قسمت Building 'AlexNet' دستور
network = input_data(shape=[None, 227, 227, 3])
 به سایز تصاویر ارتباطی ندارد؟یعنی 227 ثابت است؟ سوال دیگر اینکه شما فرمودید برای آموزش و تست از دستور
model.fit(X, Y, n_epoch=1000, validation_set=(data_test, label_test),
          shuffle=True, show_metric=True, batch_size=64, snapshot_step=200,
          snapshot_epoch=False, run_id='alexnet_rostak_test')
استفاده شود. یعنی هم برای تست و هم برای ترین کافیه؟
حال اگر بخواهیم دقت تست و ترین پرینت شوداز چه دستوری استفاده می کنیم؟
با سپاس از صبر و حوصله جنابعالی
سلام . چون الکس نت تصاویر ورودیش 227 در 227 بود اونجا 227 ست شده.
بله اینطور اومده .
برای دیدن لاگ میتونید از تنسوربورد استفاده کنید . فک کنم همینجا سرچ کنید قبلا توضیح داده باشم.
...