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

با تشکر

دسته بندی ها

0 امتیاز

من خواندن تصاویر ورودی و کراپ کردن آنها رو به صورت زیر نوشتم:

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


training_size = 600
img_size = 640*480
train_images = np.empty(shape=(training_size, 640*480))  

import glob
i = 0
for filename in glob.glob('D:/CASIA/Train60/*.jpg'): 
   image = imageio.imread(filename)
   image=tf.reshape(image,[284,384,1])
   image =tf.image.resize_image_with_crop_or_pad(image, 128, 128)  
   train_images[i] = image.reshape(-1)
   i+=1 

اما خطای زیر رو دارم:

Cannot reshape a tensor with 307200 elements to shape [284,384,1] (109056 elements) for 'Reshape' (op: 'Reshape') with input shapes: [480,640], [3]
توسط (145 امتیاز)
ویرایش شده توسط
لطفا در نوشتن کدها فرمت کد رو رعایت کنید تا خواناییش برای دوستانی که سوال رو می بینن بهتر باشه و بعضی قسمتهاش کد و بعضی قسمتهاش به فرمت متن نشه
بله....حتما...سپاس

1 پاسخ

+1 امتیاز

سلام
خوده خطا گویا موضوع هست
شما می خواید تصویرایی که 640x480 ه رو reshape کنید به 284x384 که از نظر ریاضی
تابع reshape تغییر اندازه نمی ده فقط شکل و ابعاد رو عوض می کنه و تعداد عناصر تنسور باید یکسان بمونه
که اینجا 640x480 تا پیکسل با 284x384 تا پیکسل یکی نیست!!!
اگه می خواستید تغییر اندازه بدید باید از resize استفاده می کنید

توسط (1.6k امتیاز)
با درود و احترام؛
بله درست میفرمایید
من چون با دوپایگاه داده HKPU و CASIA کار میکردم اعداد اشتباه نوشته شده اند....

پس از اصلاح اعداد من با خطای زیر مواجه شدم:

'Tensor' object has no attribute 'reshape'

در صورت امکان راهنمایی بفرمایید.
سپاس
ورودی تابع tf.reshape باید Tensor باشه، اما imageio.imread تنسور تولید نمی کنه
برای این قسمت از کدتون بهتره از numpy استفاده کنید
...