راه
۶ کیو· متوسطمتوسطPYTHON۴ ثانیه · ۲۵۶ مگابایت

آماده‌سازی تصویر برای مدل ImageNet

مدل‌های ازپیش‌آموزش‌دیده روی ImageNet ورودی را دقیقاً به همان شکلی می‌خواهند که با آن آموزش دیده‌اند. بعد از تغییر اندازه، این سه گام می‌ماند:

  1. برش مرکزی به اندازه‌ی s×ss \times s، همان‌طور که transforms.CenterCrop حساب می‌کند: top = int(round((H - s) / 2)) و left = int(round((W - s) / 2)) — با round خود پایتون.
  2. مقیاس: پیکسل‌های صفر تا ۲۵۵ تقسیم بر ۲۵۵.
  3. استانداردسازی هر کانال با میانگین و انحراف معیار ImageNet: میانگین [0.485, 0.456, 0.406] و انحراف معیار [0.229, 0.224, 0.225] برای قرمز، سبز و آبی.

و در آخر، ترتیب محورها از H×W×3H \times W \times 3 (ترتیب تصویر در numpy و PIL) به 3×H×W3 \times H \times W (ترتیب PyTorch).

تابع preprocess(img, size) با img به شکل H×W×3H \times W \times 3 آرایه‌ی 3×s×s3 \times s \times s را برمی‌گرداند.

نمونه‌ها

ورودی نمونه ۱
[[[[121, 131, 193], [243, 8, 36], [210, 242, 63], [79, 222, 108]], [[69, 211, 65], [104, 164, 140], [21, 7, 221], [192, 214, 137]], [[209, 84, 115], [201, 31, 77], [31, 116, 250], [34, 98, 103]], [[231, 52, 128], [67, 5, 192], [15, 71, 127], [124, 29, 251]]], 2]
خروجی نمونه ۱
[[[-0.3369, -1.7583], [1.3242, -1.587]], [[0.8354, -1.9132], [-1.493, -0.0049]], [[0.6356, 2.0474], [-0.4624, 2.5529]]]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود