YAML (یامل)

یک فایل هایپرپارامتر در قالب YAML یک فایل پیکربندی است که حاوی هایپرپارامترها و تنظیمات مورد استفاده برای آموزش یک مدل شبکه عصبی است. YAML (که مخفف "YAML Ain't Markup Language" است) یک زبان سریال سازی داده خوانا برای انسان است که به دلیل سادگی و خوانایی آن، معمولاً برای فایل های پیکربندی استفاده می شود. در زیر نمونه ای از آنچه یک فایل هایپرپارامتر در قالب YAML ممکن است به نظر برسد، آورده شده است:

model:
  type: "resnet"
  num_layers: 18
  num_classes: 10

optimizer:
  type: "adam"
  learning_rate: 0.001
  weight_decay: 0.0001

training:
  batch_size: 32
  num_epochs: 100
  early_stopping:
    patience: 5
    min_delta: 0.001

data:
  train_data_path: "/path/to/train_data"
  val_data_path: "/path/to/val_data"
  

در این مثال:

  • در بخش مدل، هایپرپارامترهای مرتبط با معماری شبکه عصبی مشخص شده اند، مانند نوع مدل (مثلاً ResNet)، تعداد لایه ها، و تعداد کلاس های خروجی.

  • در بخش بهینه ساز، هایپرپارامترهای مرتبط با بهینه ساز مورد استفاده برای آموزش مشخص شده اند، مانند نوع بهینه ساز (مثلاً Adam)، نرخ یادگیری، و تخفیف وزن.

  • در بخش آموزش، هایپرپارامترهای مرتبط با فرآیند آموزش مشخص شده اند، مانند اندازه دسته، تعداد عصور، و معیارهای توقف زودهنگام.

  • در بخش داده، مسیرهای مربوط به مجموعه داده های آموزش و اعتبارسنجی مشخص شده اند. استفاده از یک فایل YAML برای ذخیره هایپرپارامترها اجازه می دهد تا با تغییرات آسان و آزمایش با تنظیمات مختلف بدون نیاز به تغییر کد منبع اسکریپت آموزش، انجام شود. علاوه بر این، روشی روشن و سازمان یافته برای اسناد هایپرپارامترهای مورد استفاده برای آموزش یک مدل را فراهم می کند.

Last updated