پرسش و پاسخ کراس

  • 2022-08-10

برای اجرای یک مدل واحد در چندین پردازنده گرافیکی دو روش وجود دارد: موازی سازی داده ها و موازی سازی دستگاه . در بیشتر موارد, چه شما نیاز به احتمال زیاد موازی داده است.

1) موازی سازی داده ها

موازی سازی داده ها شامل تکرار مدل هدف یک بار در هر دستگاه و استفاده از هر ماکت برای پردازش کسری متفاوت از داده های ورودی است.

جان کلام این به شرح زیر است:

(که مدل شما را در هر دستگاه موجود تکرار می کند و وضعیت هر مدل را همگام نگه می دارد):

ب) مدل خود را ایجاد کرده و در محدوده استراتژی کامپایل کنید:

توجه داشته باشید که مهم است که تمام ایجاد متغیر حالت باید تحت محدوده اتفاق بیفتد. بنابراین در صورتی که شما ایجاد هر گونه متغیرهای اضافی, انجام این کار تحت دامنه.

ج) پاسخ مناسب () با یک تی اف.داده ها.شی مجموعه داده به عنوان ورودی. توزیع به طور گسترده با تمام تماس مجدد سازگار است, از جمله تماس مجدد سفارشی. توجه داشته باشید که این فراخوان نیازی به محدوده استراتژی ندارد زیرا متغیرهای جدیدی ایجاد نمی کند.

2) موازی سازی مدل

موازی سازی مدل شامل اجرای قسمتهای مختلف یک مدل در دستگاههای مختلف است. برای مدل هایی که معماری موازی دارند بهترین عملکرد را دارد.

با استفاده از محدوده دستگاه تنسورفلو می توان به این مهم دست یافت. در اینجا یک مثال سریع است:

چگونه می توانم تمرین را در چندین ماشین توزیع کنم?

تنسورفلو 2 شما را قادر به نوشتن کد است که عمدتا اگنوستیک به چگونه شما را توزیع خواهد کرد: هر کد است که می تواند به صورت محلی اجرا را می توان به کارگران متعدد و شتاب دهنده تنها با اضافه کردن به یک استراتژی توزیع توزیع شده است.توزیع کردن.استراتژی) مربوط به سخت افزار خود را از انتخاب, بدون هیچ گونه تغییر کد دیگر.

این مورد در مورد هر مدل کراس نیز صدق می کند: فقط یک تی اف اضافه کنید.توزیع محدوده استراتژی توزیع که شامل مدل سازی و تدوین کد است و اموزش ها بر اساس تی اف توزیع خواهد شد.توزیع استراتژی توزیع.

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

    یک راه حل چند کارگر پردازنده/پردازنده گرافیکی همزمان برای کار با ساخت مدل و حلقه تمرین به سبک کراس با استفاده از کاهش همزمان شیب ها در سراسر کپی ها پیاده سازی می کند. یک راه حل چند کارگر پردازنده/پردازنده گرافیکی ناهمزمان را پیاده سازی می کند که پارامترها در سرورهای پارامتر ذخیره می شوند و کارگران شیب ها را به صورت ناهمزمان به سرورهای پارامتر به روز می کنند.

تمرین توزیع شده تا حدودی بیشتر از تمرین چند دستگاهی تک ماشینی درگیر است. با استفاده از پارامتر سرور شما نیاز به راه اندازی یک خوشه از راه دور از ماشین های متشکل از "کارگر" و "ص", هر یک در حال اجرا یک تی اف.توزیع کردن.سپس برنامه پایتون خود را بر روی یک ماشین "ارشد" اجرا کنید که دارای یک متغیر محیطی است که نحوه برقراری ارتباط با ماشین های دیگر در خوشه را مشخص می کند. با استفاده از استراتژی چند کاره شما برنامه مشابهی را روی هر یک از مدیران و کارگران اجرا خواهید کرد و مجددا با یک متغیر محیطی تی اف کانفیگ که نحوه برقراری ارتباط با خوشه را مشخص می کند. گردش کار شبیه به استفاده از اموزش تک ماشینی است و تفاوت اصلی این است که شما از استراتژی پارامتر سرور یا استراتژی چند کاره به عنوان استراتژی توزیع خود استفاده خواهید کرد.

مهم این است که شما باید:

  • اطمینان حاصل کنید که مجموعه داده های شما به قدری پیکربندی شده است که همه کارگران خوشه می توانند به طور موثر داده ها را از این خوشه بیرون بکشند (به عنوان مثال اگر خوشه شما در حال اجرا است ابر گوگل, ایده خوبی است که داده های خود را در فضای ذخیره سازی ابر گوگل میزبانی کنید).
  • اطمینان حاصل کنید که تمرین شما مقاوم به خطا است (به عنوان مثال با پیکربندی کراس.تماس مجدد.پشتیبان گیری و بازیابی مخاطبین).

در زیر, ما شما را به یک زن و شوهر از قطعه کد که پوشش گردش کار اساسی. برای کسب اطلاعات بیشتر در مورد پردازنده/پردازنده گرافیکی چند کارگر, دیدن چند پردازنده گرافیکی و اموزش توزیع شده; برای تمرین تی پی یو, ببینید چگونه می توانم یک مدل کراس را در تی پی یو تمرین دهم?.

چگونه می توانم یک مدل کراس در تیپو قطار?

یک شتاب دهنده سخت افزاری سریع و موثر برای یادگیری عمیق است که به طور عمومی در ابر گوگل در دسترس است. شما می توانید از طریق سیستم عامل هوش مصنوعی (موتور میلی لیتر) و ماشین های مجازی یادگیری عمیق (به شرطی که متغیر محیطی نام تی پی یو بر روی ماشین مجازی تنظیم شده باشد) استفاده کنید.

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

پس از اتصال به یک زمان اجرا (به عنوان مثال با انتخاب زمان اجرا در کولاب), شما نیاز به شناسایی تی پی یو خود را با استفاده از یک حل کننده تی پوکلوستر, که به طور خودکار تشخیص یک تی پی یو مرتبط در تمام سیستم عامل های پشتیبانی:

پس از راه اندازی اولیه گردش کار مشابه استفاده از اموزش چند پردازنده گرافیکی تک ماشینی است و با این تفاوت که شما از استراتژی تی استراستراتژی به عنوان استراتژی توزیع خود استفاده خواهید کرد.

مهم این است که شما باید:

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

فایل پیکربندی کراس کجا ذخیره شده است?

دایرکتوری پیش فرض جایی که تمام داده های کراس ذخیره می شود:

به عنوان مثال, برای من, در مک بوک پرو, این /کاربران/فچولت/است.کراس/ .

توجه داشته باشید که کاربران ویندوز باید جایگزین HOME خانه با %پروفایل کاربری%.

در صورتی که کراس نتواند دایرکتوری فوق را ایجاد کند (به عنوان مثال به دلیل مشکلات مجوز).کراس / به عنوان پشتیبان استفاده می شود.

فایل پیکربندی کراس یک فایل جانسون ذخیره شده در $خانه/.کراس / کراس.جانسون . فایل پیکربندی پیش فرض به این شکل است:

این شامل زمینه های زیر است:

  • فرمت داده های تصویری که به عنوان پیش فرض توسط لایه ها و برنامه های پردازش تصویر استفاده می شود (اول کانالها یا کانالها ).
  • اپسیلون عامل ریش ریش شدن عددی مورد استفاده قرار گیرد برای جلوگیری از تقسیم بر صفر در برخی از عملیات.
  • نوع داده شناور پیش فرض.
  • باطن به طور پیش فرض. این میراث است; امروزه تنها تنسورفلو وجود دارد.

به همین ترتیب, فایل های مجموعه داده ذخیره شده , مانند کسانی که با دریافت _ فایل (), به طور پیش فرض در ذخیره می شود HOME خانه/.فایل های وزن مدل کراس از برنامه های کراس به طور پیش فرض در HOME خانه/ذخیره می شوند.کراس / مدل ها/ .

چگونه انجام دهیم تنظیم هایپرپارامتر با کراس?

توصیه می کنیم از کراستونر استفاده کنید.

چگونه می توانم نتایج قابل تکرار را با استفاده از کراس در طول توسعه دریافت کنم?

در طول توسعه یک مدل گاهی اوقات مفید است که بتوانیم نتایج قابل تکرار را از اجرا به اجرا برسانیم تا مشخص شود که تغییر در عملکرد به دلیل یک مدل واقعی یا اصلاح داده ها یا صرفا یک نتیجه از یک دانه تصادفی جدید است.

ابتدا باید متغیر محیط بذر پایتون را قبل از شروع برنامه روی 0 تنظیم کنید (نه در داخل خود برنامه). این امر در پایتون 3.2.3 به بعد برای داشتن رفتار قابل تکرار برای برخی از عملیات مبتنی بر هش ضروری است (به عنوان مثال, ترتیب مورد در یک مجموعه یا دیکشنری, برای اطلاعات بیشتر به اسناد یا شماره پایتون مراجعه کنید #2280). یکی از راه های تنظیم متغیر محیطی هنگام شروع پایتون به این صورت است:

علاوه بر این, هنگامی که در حال اجرا بر روی یک پردازنده گرافیکی, برخی از عملیات خروجی غیر قطعی, به طور خاص تی اف.کاهش _جمع() . این امر به این دلیل است که پردازنده های گرافیکی بسیاری از عملیات را به صورت موازی اجرا می کنند بنابراین ترتیب اجرا همیشه تضمین نمی شود. با توجه به دقت محدود شناورها حتی جمع کردن چندین عدد با هم ممکن است بسته به ترتیب اضافه کردن شما نتایج کمی متفاوت داشته باشد. شما می توانید سعی کنید برای جلوگیری از عملیات غیر قطعی, اما برخی ممکن است به طور خودکار توسط تانسورفلو برای محاسبه شیب ایجاد, بنابراین بسیار ساده تر به فقط اجرای کد بر روی پردازنده. برای این کار می توانید متغیر محیطی کودا_ویزبل_دستگاه ها را به عنوان مثال روی یک رشته خالی تنظیم کنید:

قطعه کد زیر نمونه ای از نحوه دستیابی به نتایج قابل تکرار را فراهم می کند:

توجه داشته باشید که شما لازم نیست که به مجموعه دانه برای مقداردهی اولیه فردی در کد خود را اگر شما مراحل بالا را انجام, به دلیل دانه های خود را با ترکیبی از دانه مجموعه ای در بالا تعیین.

گزینه های من برای صرفه جویی در مدل چیست?

توجه: استفاده از ترشی یا ترشی برای ذخیره مدل کراس توصیه نمی شود.

1) صرفه جویی در کل مدل (پیکربندی + وزن)

صرفه جویی در کل مدل به معنای ایجاد یک فایل است که شامل:

  • مدل سازی که به شما امکان می دهد مدل را دوباره بسازید
  • وزن های مدل
  • پیکربندی تمرین (از دست دادن, بهینه ساز)
  • حالت بهینه ساز که به شما امکان می دهد تمرینات را دقیقا در جایی که متوقف کرده اید از سر بگیرید.

قالب پیش فرض و توصیه شده برای استفاده قالب مدل ذخیره شده تنسورفلو است. در تانسورفلو 2.0 و بالاتر, شما فقط می توانید انجام دهید: مدل.ذخیره (مسیر فایل شما) .

برای صراحت می توانید از مدل نیز استفاده کنید.پس انداز کنید .

کراس هنوز از فرمت اصلی ذخیره سازی مبتنی بر اچ دی اف 5 پشتیبانی می کند. برای ذخیره یک مدل در فرمت اچ دی اف 5 از مدل استفاده کنید.ذخیره (فایل _مسیر, ذخیره _قالب= 'اچ 5') . توجه داشته باشید که اگر مسیر فایل شما به پایان برسد این گزینه به طور خودکار استفاده می شود .ح5 یا .کراس . لطفا ببینید که چگونه می توانم نصب اچ دی اف 5 یا اچ 5پی برای ذخیره مدل های من? برای راهنمایی در مورد نحوه نصب اچ5پی .

پس از ذخیره یک مدل در هر دو فرمت, شما می توانید دوباره از طریق مدل = کراس.مدل ها.بار_مدل(مسیر _ فایل شما) .

مثال:

2) وزن-فقط صرفه جویی

در صورت نیاز به ذخیره وزن های یک مدل می توانید این کار را در اچ دی اف 5 با کد زیر انجام دهید:

با فرض اینکه شما کد برای نمونه مدل خود را, شما سپس می توانید بار وزن شما را به یک مدل با معماری همان ذخیره:

اگر شما نیاز به بارگذاری وزن به معماری های مختلف (با برخی از لایه های مشترک), برای مثال برای ریز تنظیم و یا انتقال یادگیری, شما می توانید با نام لایه بار :

لطفا ببینید که چگونه می توانم نصب اچ دی اف 5 یا اچ 5پی برای ذخیره مدل های من? برای راهنمایی در مورد نحوه نصب اچ5پی .

3) صرفه جویی در پیکربندی تنها (ترتیب)

اگر شما فقط نیاز به صرفه جویی در معماری از یک مدل, و نه وزن خود و یا پیکربندی تمرین خود را, شما می توانید انجام دهید:

فایل جانسون تولید انسان قابل خواندن است و می تواند به صورت دستی در صورت نیاز ویرایش شده است.

سپس می توانید از این داده ها یک مدل تازه بسازید:

4) دست زدن به لایه های سفارشی (یا سایر اشیای سفارشی) در مدل های ذخیره شده

اگر مدلی که می خواهید بارگذاری کنید شامل لایه های سفارشی یا سایر کلاس ها یا توابع سفارشی باشد می توانید از طریق استدلال اشیا سفارشی به مکانیزم بارگیری منتقل کنید:

همچنین می توانید از دامنه شی سفارشی استفاده کنید:

جابجایی اشیا سفارشی برای بارگذاری به همان روش کار می کند_مدل و مدل _از_جسون :

چگونه می توانم نصب اچ دی اف 5 یا اچ 5پی برای ذخیره مدل های من?

به منظور ذخیره مدل های کراس خود را به عنوان فایل های اچ دی اف 5, کراس با استفاده از اچ 5پی پایتون بسته. این وابستگی کراس است و باید به طور پیش فرض نصب شود. در توزیع های مبتنی بر دبیان, شما باید علاوه بر نصب لیبهدف5 :

اگر از نصب اچ5 پی اطمینان ندارید می توانید پوسته پایتون را باز کرده و ماژول را از طریق

اگر بدون خطا وارد نصب شده است, در غیر این صورت شما می توانید دستورالعمل نصب و راه اندازی دقیق در اینجا پیدا کنید.

چگونه باید استناد کنم کراس?

اگر به تحقیقات شما کمک می کند لطفا کراس را در نشریات خود ذکر کنید. در اینجا یک مثال ورودی بیبتکس است:

سوالات مرتبط با اموزش

چه" نمونه"," دسته ای", و" عصر " متوسط?

در زیر برخی از تعاریف رایج است که لازم است بدانید و درک به درستی استفاده از کراس مناسب هستند () :

  • نمونه : یک عنصر از یک مجموعه داده. برای مثال یک تصویر یک نمونه در یک شبکه کانولوشن است. یک قطعه صوتی نمونه ای برای مدل تشخیص گفتار است.
  • دسته : مجموعه ای از نمونه های نفر. نمونه ها در یک دسته به طور موازی به طور مستقل پردازش می شوند. اگر تمرین, یک دسته ای منجر به تنها یک به روز رسانی به مدل. یک دسته به طور کلی توزیع داده های ورودی را بهتر از یک ورودی واحد تقریب می زند. هر چه بزرگتر دسته ای, بهتر تقریب; با این حال, این نیز درست است که دسته ای دیگر را به پردازش و هنوز هم در تنها یک به روز رسانی منجر خواهد شد. برای استنباط (ارزیابی/پیش بینی), توصیه می شود به انتخاب یک اندازه دسته ای است که به عنوان بزرگ به عنوان شما می توانید بدون خارج شدن از حافظه استطاعت (از دسته های بزرگتر معمولا در ارزیابی سریع تر منجر خواهد شد/پیش بینی).
  • دوره: یک قطع دلخواه که عموما به عنوان "یک پاس از کل مجموعه داده" تعریف می شود و برای تفکیک تمرینات به مراحل مجزا استفاده می شود که برای ورود به سیستم و ارزیابی دوره ای مفید است. در هنگام استفاده از دادههای اعتبارسنجی یا اعتبارسنجی با روش برازش مدلهای کراس ارزشیابی در پایان هر دوره اجرا خواهد شد . در کراس, است که توانایی اضافه کردن تماس مجدد به طور خاص طراحی شده برای در پایان یک دوره اجرا می شود وجود دارد . نمونه هایی از این تغییرات نرخ یادگیری و بازرسی مدل (صرفه جویی) است.

چرا از دست دادن تمرین من بسیار بالاتر از از دست دادن تست من?

مدل کراس دو حالت دارد: تمرین و تست. مکانیسم های منظم سازی مانند ترک تحصیل و 1 / ل2 تنظیم وزن در زمان تست خاموش می شوند. اینها در از دست دادن زمان تمرین منعکس می شوند اما در از دست دادن زمان تست منعکس نمی شوند.

علاوه بر این, از دست دادن تمرینی که کراس نشان می دهد میانگین تلفات هر دسته از داده های تمرینی در دوره فعلی است . زیرا مدل شما با گذشت زمان در حال تغییر است, ضرر نسبت به دسته های اول یک دوره به طور کلی بیشتر از دسته های گذشته است. این می تواند میانگین دوره ای را کاهش دهد. از طرف دیگر افت تست برای یک دوره با استفاده از مدل همانطور که در انتهای دوره است محاسبه می شود و در نتیجه ضرر کمتری دارد.

چگونه می توانم از کراس با مجموعه داده هایی که در حافظه جا نمی گیرند استفاده کنم?

شما باید از تی اف استفاده کنید.داده ها برای ایجاد تی اف.داده ها.انتزاع بیش از یک خط لوله داده است که می تواند داده ها را از دیسک محلی جلو, از یک سیستم فایل توزیع, از شورای همکاری خلیج فارس, و غیره. و همچنین به طور موثر تحولات مختلف داده را اعمال کنید.

به عنوان مثال, ابزار تی اف.کراس.پیش پردازش.تصویر _ مجموعه داده _ از_ دایرکتوری یک مجموعه داده ایجاد می کند که داده های تصویر را از یک دایرکتوری محلی می خواند. به همین ترتیب, ابزار تی اف.کراس.پیش پردازش.متن _ مجموعه داده _ از_ دایرکتوری یک مجموعه داده ایجاد می کند که فایل های متنی را از یک دایرکتوری محلی می خواند.

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

چگونه می توانم اطمینان حاصل کنم که تمرین من می تواند از وقفه های برنامه بهبود یابد?

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

چگونه می توانم تمرین را قطع کنم وقتی که از دست دادن اعتبار دیگر کاهش نمی یابد?

می توانید از پاسخ به تماس زودهنگام استفاده کنید:

چگونه می توانم لایه های یخ و انجام ریز تنظیم?

تنظیم ویژگی قابل تربیت

همه لایه ها و مدل ها دارای یک لایه هستند.ویژگی بولی قابل تربیت:

در تمام لایه ها و مدل ها می توان ویژگی قابل تربیت را تنظیم کرد (به درست یا غلط). هنگامی که به نادرست تنظیم , لایه.ویژگی تربیت_وزن خالی است:

تنظیم ویژگی قابل تربیت روی یک لایه به صورت بازگشتی روی همه لایه های کودکان (محتویات خود) تنظیم می کند.لایه ها ).

1) هنگام تمرین با تناسب اندام() :

برای انجام ریز تنظیم با مناسب (), شما می توانید:

  • نمونه سازی مدل پایه و بارگذاری وزنه های از پیش تمرین شده
  • یخ که مدل پایه
  • لایه های قابل تمرین را در بالا اضافه کنید
  • کامپایل پاسخ () و مناسب()

شما می توانید یک گردش کار مشابه با رابط های برنامه کاربردی عملکردی و یا مدل زیر طبقه بندی رابط های برنامه کاربردی را دنبال کنید. اطمینان حاصل کنید که به کامپایل پاسخ() پس از تغییر ارزش تربیت شدنی به منظور برای تغییرات خود را در نظر گرفته شود. فراخوانی کامپایل () وضعیت مرحله تمرین مدل را مسدود می کند.

2) هنگام استفاده از یک حلقه تمرین سفارشی:

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

تعامل بین تربیت شدنی و کامپایل()

فراخوانی کامپایل () در یک مدل به معنای "مسدود کردن" رفتار که مدل. این بدان معناست که مقادیر ویژگی قابل تربیت در زمان کامپایل مدل باید در طول عمر این مدل حفظ شود تا زمانی که کامپایل دوباره فراخوانی شود. از این رو, اگر شما تغییر تربیت شدنی , اطمینان به پاسخ کامپایل() دوباره در مدل خود را برای تغییرات خود را به حساب گرفته شود.

برای مثال, اگر دو مدل & ب به اشتراک گذاشتن برخی از لایه, و:

  • مدل وارد می شود
  • مقدار ویژگی قابل تربیت در لایه های مشترک تغییر می کند
  • مدل ب کامپایل شده است

سپس مدل الف و ب از مقادیر قابل تربیت مختلف برای لایه های مشترک استفاده می کنند. این مکانیسم برای اکثر پیاده سازی گان موجود بسیار مهم است, که انجام:

چه تفاوتی بین استدلال تمرین در پاسخ است () و ویژگی تربیت شدنی?

تمرین یک استدلال بولی در تماس است که تعیین می کند تماس باید در حالت استنتاج اجرا شود یا حالت تمرین. به عنوان مثال در حالت تمرینی یک لایه ترک تحصیل به صورت تصادفی اعمال می شود و خروجی را تغییر مقیاس می دهد. در حالت استنتاج همان لایه هیچ کاری نمی کند. مثال:

قابل تمرین یک ویژگی لایه بولی است که تعیین می کند وزن های قابل تمرین لایه باید به روز شود تا از دست دادن در طول تمرین به حداقل برسد. اگر لایه.قابل تربیت روی غلط و سپس لایه تنظیم شده است.وزنه های قابل تربیت همیشه یک لیست خالی خواهند بود. مثال:

همانطور که می بینید "حالت استنتاج در مقابل حالت تمرین" و "تربیت پذیری وزن لایه" دو مفهوم بسیار متفاوت هستند.

شما می توانید موارد زیر را تصور کنید: یک لایه ترک تحصیل که فاکتور مقیاس گذاری در طول تمرین از طریق انتشار مجدد یاد می گیرد. بیایید نامگذاری کنیم اندازه گیری خودکار . این لایه به طور همزمان حالت قابل تربیت و رفتار متفاوتی در استنتاج و تمرین خواهد داشت. زیرا ویژگی تربیتی و استدلال فراخوان اموزشی مستقل هستند می توانید موارد زیر را انجام دهید:

مورد خاص لایه عادی سازی دسته ای

یک لایه عادی سازی دسته ای را در قسمت یخ زده یک مدل که برای تنظیم دقیق استفاده می شود در نظر بگیرید.

مدتهاست که بحث شده است که امار متحرک لایه عادی سازی دسته ای باید یخ زده بماند یا با داده های جدید سازگار شود. تاریخی, میلیارد.اموزش پذیر = غلط فقط باعث توقف پس زمینه می شود اما از بروزرسانی زمان تمرین جلوگیری نمی کند. پس از تست گسترده, ما پیدا کرده اند که معمولا بهتر است به مسدود کردن امار در حال حرکت در موارد استفاده ریز تنظیم. شروع در تنسورفلو 2.0, تنظیم میلیارد.تربیت پذیر = نادرست همچنین لایه را مجبور به اجرا در حالت استنتاج می کند.

این رفتار فقط برای عادی سازی دسته ای اعمال می شود . برای هر لایه دیگر قابلیت تمرین با وزنه و "استنتاج در مقابل حالت تمرین" مستقل باقی می مانند.

در تناسب (), چگونه تقسیم اعتبار سنجی محاسبه?

اگر استدلال اعتبار سنجی را در مدل تنظیم کنید.مناسب به عنوان مثال 0.1, سپس داده های اعتبار سنجی استفاده می شود 10% گذشته از داده ها. اگر روی 0.25 تنظیم کنید 25 درصد پایانی داده ها و غیره خواهد بود. توجه داشته باشید که داده ها قبل از استخراج تقسیم اعتبار حوصلگی نیست, بنابراین اعتبار سنجی است به معنای واقعی کلمه فقط گذشته ایکس درصد از نمونه در ورودی شما گذشت.

همان مجموعه اعتبار سنجی برای همه دوره ها (در همان تماس برای جا دادن) استفاده می شود.

توجه داشته باشید که گزینه اعتبارسنجی فقط در صورتی در دسترس است که داده های شما به عنوان ارریس های نامتعارف منتقل شوند (نه تی اف.داده ها.داده هایی که قابل نمایش نیستند).

در تناسب (), است داده حوصلگی در طول تمرین?

اگر شما داده های خود را به عنوان ارریس نامناسب و اگر استدلال زدن در مدل منتقل می کند.تناسب () روی درست تنظیم شده است (که پیش فرض است), داده های تمرین در سطح جهانی به طور تصادفی در هر دوره تغییر می کنند.

اگر اطلاعات خود را به عنوان یک تی اف منتقل کنید.داده ها.شی مجموعه داده و اگر استدلال زدن در مدل.مناسب () به درست تنظیم , مجموعه داده خواهد شد به صورت محلی حوصلگی (زدن بافر).

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

داده های اعتبار سنجی است هرگز حوصلگی.

روش توصیه شده برای نظارت بر معیارهای من هنگام تمرین با تناسب اندام چیست ()?

ارزش از دست دادن و مقادیر متریک از طریق نوار پیشرفت به طور پیش فرض نمایش داده شده توسط تماس به جا گزارش() . با این حال, خیره در تغییر اعداد اسکی در یک کنسول است یک تجربه متریک نظارت مطلوب نیست. ما توصیه می کنیم از تانسور استفاده کنید که نمودارهای زیبا از معیارهای تمرینی و اعتبار سنجی شما را نشان می دهد که به طور مرتب در طول تمرین به روز می شود و می توانید از مرورگر خود دسترسی پیدا کنید.

شما می توانید تانسور با مناسب استفاده() از طریق پاسخ به تماس تانسور.

اگر من نیاز به سفارشی چه مناسب() می کند?

شما دو گزینه دارید:

1) زیر کلاس کلاس مدل و نادیده گرفتن قطار _ مرحله (و تست _ مرحله ) روش

این گزینه بهتر است اگر شما می خواهید از قوانین به روز رسانی سفارشی استفاده کنید اما هنوز هم می خواهید از قابلیت های مناسب استفاده کنید() , مانند تماس مجدد, فیوزینگ مرحله ای موثر, و غیره.

توجه داشته باشید که این الگو شما را از ساخت مدلهایی با رابط کاربری کاربردی باز نمیدارد که در این صورت از کلاسی که ایجاد کردهاید برای نمونهسازی مدل با ورودیها و خروجیها استفاده خواهید کرد . همان که برای مدل های متوالی, که در این صورت شما خواهد کراس زیر کلاس.متوالی و نادیده گرفتن گام قطار خود را به جای کراس.مدل .

مثال زیر یک مدل کاربردی با یک مرحله قطار سفارشی را نشان می دهد .

شما همچنین می توانید به راحتی پشتیبانی از وزن نمونه را اضافه کنید:

به طور مشابه, شما همچنین می توانید ارزیابی توسط مهم تست _ مرحله سفارشی :

2) یک حلقه تمرین سفارشی سطح پایین بنویسید

این یک گزینه خوب است اگر شما می خواهید در کنترل هر کمی گذشته. اما می تواند تا حدودی پرحرف باشد. مثال:

این مثال بسیاری از قابلیت های ضروری مانند نمایش یک نوار پیشرفت را شامل نمی شود, تماس مجدد تماس, به روز رسانی معیارهای, و غیره. شما باید خودتان این کار را انجام دهید. اصلا سخت نیست اما کمی کار است.

چگونه می توانم مدل در دقت مخلوط قطار?

کراس دارای پشتیبانی داخلی برای تمرین دقیق ترکیبی در پردازنده گرافیکی و پردازنده گرافیکی است. این راهنمای گسترده را ببینید.

چه تفاوتی بین روش مدل پیش بینی() و __پاسخ__() ?

هر دو بله = مدل.پیش بینی(ایکس) و بله = مدل(ایکس) (جایی که ایکس مجموعه ای از داده های ورودی است) به معنای "مدل را اجرا کنید ایکس و خروجی را بازیابی کنید بله ."با این حال دقیقا همان چیز نیستند.

پیش بینی () حلقه ها روی داده ها به صورت دسته ای(در واقع می توانید اندازه دسته را از طریق مشخص کنید پیش بینی کردن (ایکس, اندازه دسته=64)) و مقدار نامپیچ خروجی ها را استخراج می کند. از نظر شماتیک معادل این است:

این به این معنی است که پیش بینی() تماس می توانید به ارریس بسیار بزرگ در مقیاس. در همین حال, مدل(ایکس) اتفاق می افتد در حافظه و مقیاس نیست. از سوی دیگر, پیش بینی() است متفاوت نیست: شما می توانید شیب خود را بازیابی کنید اگر شما در یک دامنه شیب.

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

سوالات مرتبط با مدل سازی

چگونه می توانم خروجی یک لایه میانی (استخراج ویژگی)?

اگر یک لایه دقیقا یک بار فراخوانی شده باشد می توانید خروجی خود را از طریق لایه بازیابی کنید.خروجی و ورودی خود را از طریق لایه.ورودی . این شما را قادر به انجام به سرعت نمونه مدل ویژگی استخراج, مثل این یکی:

به طور طبیعی, این ممکن است با مدل های که زیر کلاس از مدل که نادیده گرفتن پاسخ .

در اینجا یک مثال دیگر وجود دارد: نمونه سازی مدلی که خروجی یک لایه خاص نامگذاری شده را برمی گرداند:

چگونه می توانم از مدل های پیش ساخته در کراس استفاده کنم?

می توانید از مدل های موجود در کراس استفاده کنید.برنامه های کاربردی , و یا مدل های موجود در تانسورفلو توپی. هاب تنسورفلو به خوبی با کراس ادغام شده است.

چگونه می توانم از رنسانس های دولتی استفاده کنم?

حالت دهی به این معنی است که حالات مربوط به نمونه های هر دسته به عنوان حالت اولیه نمونه ها در دسته بعدی مورد استفاده مجدد قرار می گیرند.

هنگام استفاده از رنسانس های دولتی فرض بر این است که:

  • همه دسته ها تعداد نمونه های یکسانی دارند
  • اگر ایکس1 و ایکس2 دسته های پی در پی از نمونه هستند, سپس ایکس2[من] دنباله پیگیری به ایکس1 است[من] , برای هر من .

برای استفاده از حالت در رنس ها به موارد زیر نیاز دارید:

  • به صراحت اندازه دسته ای که استفاده می کنید را با عبور از یک استدلال اندازه دسته ای به لایه اول مدل خود مشخص کنید. به عنوان مثال اندازه دسته=32 برای یک دسته 32 نمونه از توالی 10 مرحله زمانی با 16 ویژگی در هر مرحله زمانی.
  • حالت را در لایه(های) خود تنظیم کنید.
  • مشخص زدن=نادرست در هنگام تماس مناسب ().

برای بازنشانی ایالات انباشته شده:

  • استفاده از مدل.تنظیم مجدد حالت ها() برای بازنشانی حالات همه لایه ها در مدل
  • استفاده از لایه.ایالت ها() برای بازنشانی حالات یک لایه ایالتی خاص

توجه داشته باشید که روش پیش بینی , مناسب , قطار-تعلیم دادن , و غیره. همه حالات لایه های حالت دار را در یک مدل به روز می کنند. این به شما امکان می دهد نه تنها تمرینات دولتی بلکه پیش بینی های حالت دار را نیز انجام دهید.

برچسب ها

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.