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

با تشکر

دسته بندی ها

0 امتیاز

سلام وقتتون بخیر می خواستم بدونم این خط کد چی کار می کنه ؟

height, width, in_channels = x.shape.as_list()[1:]

و اگه می شه با یه مثال عددی (یک ماتریس سه بعدی) برام توضیحش بدید و ازش استفاده کنید. (زمانیکه x یک تصویر یا ماتریس ۳ بعدی باشد).
وقتی در یک تابع از این خط کد استفاده می کنم با خطای زیر روبرو می شوم؟

AttributeError: 'tuple' object has no attribute 'as_list'
متشکرم

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

1 پاسخ

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

سلام
x مشخص نیست که از چه نوعی است. ولی من برای اینکه کلیت دستور را متوجه شوید با استفاده از اشاره کوچکی می کنم
x.shape شکل ماتریس یا بردار را برمیگرداند. مثلا اگر ماتریس 2*3 باشد مقدار خروجی این دستور (3,2) می باشد. به معنی اینکه شکل ماتریس به صورت 3 سطر و 2 ستون است.
اما as_list() تابعی است که می گوید خروجی را به لیست تبدیل کن. همچنین [:1] به معنی این است که مقادیر در لیست را از ایندکس 1 به بعد را برگردان. مثلا اگر x شکلی به صورت 5x4x3x2 داشته باشد، [:1] این دستور مقدار (4,3,2) را بر می گردان زیرا که 4 در ایندکس صفر است. علامت : هم می گوید از یک به بعد را در نظر بگیر
اگر ما [3:6] بنویسیم یعنی اینکه از ایندکس 3 تا 6 در نظر بگیر و اگر [:] بنویسیم یعنی همه ایندکس ها را در نظر بگیر

اروری هم که نوشته اید به معنی این است که خاصیت as_list وجود ندارد.

من خیلی مقدماتی توضیح دادم و امیدوارم مفید بوده باشه

توسط (115 امتیاز)
انتخاب شده توسط
بسیار عالی ممنون ولی اینکه می فرمایید خاصیت as_list وجود ندارد یعنی چه ؟!
خود متن پیام داره خیلی صریح و روشن میگه که نوع x دارای تابعی (خاصیتی) نیست که x را به list تبدیل کند. اینکه متوجه می شیم as_list چکار می کنه با توجه به نامگذاری تابع است و تجربه ای که در کدزنی های پایتون داریم.

دقیق تر بخوام بگم x یک ابجکت است (مفهوش شی گرایی مطرح است) که در کلاسی که برای این آبجکت تعریف شده است باید یک تابعی نوشته شده باشد که x را به list تبدیل کند اما این تابع در کلاس x تعریف نشده است. ممکن است که در کد از این نام اشتباه استفاده شده باشد و معمولا در پایتون این خطا نام های شبیه وجود دارد. برای من هم زیاد پیش اومده کهدر جایی برای یک نوع ابجکت متفاوتی از نام تابعی دیگر در ابجکتی دیگر استفاده کنیم
در اینجا ابجکت x که برگفته از یک کلاس است، تابعی با نام as_list تعریف نشده و به همین دلیل پیام خطا داده است که چنین تابعی یا خاصیتی x ندارد
...