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

با تشکر

دسته بندی ها

0 امتیاز

با سلام
من میخوام برای تصاویر dicom چند مدل شبکه رو آموزش بدم برای اولین مورد دارم از AlexNet استفاده میکنم تصاویرم 512*512 هستند
سوال اول: در داخل این لینک

https://github.com/denti/AlexNet3D

اولا اون placeholder چه کاری میکنه؟ دوما چرا اندازه فیلتر اول 9*9 گرفته شده مگه نباید 11*11 باشه؟ کلا خیلی توضیحاتی در مورد کد وجود نداره

سوال دوم: من چطوری تصاویرمو تغییر بدم که با این شبکه آموزش ببینه؟ یعنی در این سورس کد چه تغیراتی باید بدم (که البته اگر توضیحای راجع به کد باشه اینو خواهم فهمید)

سوال سوم: برای سایر معماری ها مثل گوگل نت و دنس نت و مشابه اینها کدوم سورس ها در گیت ها معتبر هستند؟! چندین نتیجه برای هر مدل وجود داره و گیج کننده ن!!
متشکرم

توسط (107 امتیاز)

1 پاسخ

0 امتیاز

سلام
من خیلی وقت هست که با تنسورفلو کار نکردم اما مواردی که به چشمم میاد رو عرض کنیم . عزیزانی که با تنسورفلو وارد تر هستن انشاءالله اگه نکته تکمیلی هست عنوان کنن .
در مورد placeholder ها منظور این خط ها هستن ؟ :

# Input data.
tf_train_dataset = tf.placeholder(tf.float32, shape=(None, 111, 111, 111, 1))
tf_train_labels = tf.placeholder(tf.float32, shape=(None, num_labels))

اینها همونطور که مشخصه برای ارائه ترینینگ ست شما به شبکه مورد استفاده قرار میگیرن . تو خط 130 هموطنور که در زیر میبینید :

for epch in xrange(0, epochs):
		print ('EPOCH %d' % epch)

    for step in range(steps_per_epoch):
		offset = (step * batch_size) % (Y.shape[0] - batch_size)

        # Generate a minibatch.
        batch_data = X[np.arange(offset,(offset + batch_size))].astype('float32')
        batch_labels = Y[offset:(offset + batch_size), :]

        train_step.run(feed_dict={tf_train_dataset: batch_data, tf_train_labels: batch_labels})

در هر ایپاک (که خودش شامل یک یا چند تکرار میشه) mini batch ها تولید شده و بعد به این Placeholder ها انتساب داده میشه و از این طریق شبکه رو تغذیه میکنید.

بنظر میاد بخاطر اندازه داده ورودی، بجای استفاده از فیلتر 11×11 از 9×9 استفاده کرده و همینطور یک پولینگ رو هم حذف کرده تا در انتهای شبکه ابعاد مورد نظرش وجود داشته باشه.

در خط 6 ام همونطور که میبینید ابعاد ورودی رو لحاظ کرده . یعنی

# Path to 3d tensor. Tensor.shape is (111,111,111)

شما باید ابعاد تصاویر مورد نظرتون رو در خط 10 ام لحاظ کنید :

X = np.load(tensor_path + 'x.npz')['x'].reshape((-1, 111, 111, 111, 1))

در مورد اینکه معماری های دیگه چیکار باید بکنید یا کدومها معتبر هستند یک خود مقاله هست و نویسنده مقاله که تو اکانت خودش معرفی میکنه.(پروفایلش اسمش وجود داره و بر اساس مقاله چک میکنید یا از طریق لینکی که در مقاله هست راهنمایی میشید) یا اینکه خیلی راحت به star و یا تعداد fork ها نگاه کنید. اینها ملاک های بسیار خوبی برای میزان اعتبار یک ریپازیتوری هستن. نهایتا هر زمان هم مشکلی داشتید از بین چندتا و اینها کمکی نکرد میتونید سوال بپرسید راهنمایی میکنیم .

توسط (4.3k امتیاز)
...