Skip to main content
  1. Posts/

Донавчання моделі за допомогою Elixir

Нещодавно я експериментував із донавчанням моделей в elixir. Я вирішив відтворити туторіал fast.ai який донавчає модель для розпізнавання птахів. Разом з мовою та livebook це дуже просто зробити.

Цей пост це збірка нотаток про його розробку.

  • Спочатку я хотів використати бібліотеку EMLX для використання MLX як бекенд для NX. Але мені вдалося змусити його працювати лише для класифікації без файн тюнінгу, тож це залишеться на майбутне.
  • У виклику chunk_every я використовую discard, щоб уникнути додаткового заповнення даних для навчання/тестування, оскільки мої набори даних не розділені рівномірно.
  • Оскільки специфікація моделі вже мала класи, все що мені потрібно було зробити, це замінити їх на свої власні.
  • Зображення в датасеті вже мають розмір 224x224, тому нема потреби змінювати їх розмір. Якщо ваші зображення відрізняються, вам потрібно використати Nx.reshape або змінити їх розмір.
  • Я витратив багато часу на дебаг, щоб з’ясувати, що проблема полягала у формі потоку даних який я завантажував. Це має бути stream з частинами/чанками.

Livebook на github та датасет на huggingface