У меня 16 Гб ОЗУ и я попал в Out of memory на первом шаге, в этом случае может помочь снижение batch_size, и точно поможет снижение параметров enc_rnn_size и dec_rnn_size.
В процессе тестирования trio_16bar возникли вопросы, можете ли подсказать:
1. Возможно ли увеличить количество тактов модели? Я пробовал поставить 32 такта дедуктивным методом:
Но получаю ошибку при запуске обучения: InvalidArgumentError (see above for traceback): assertion failed: [512 512 512...]
[[node Assert/Assert (defined at /usr/lib/python2.7/site-packages/magenta/models/music_vae/lstm_utils.py:305) = Assert[T=[DT_INT32], summarize=3, _device="/job:localhost/replica:0/task:0/device:CPU:0"](All, Minimum_1)]]
2. Возможно ли добавить еще одну мелодию при генерации(или может сразу при обучении), чтобы на выходе получалось [melody, melody, bass, drums]?
3. В чем основные различия моделей hier-trio и hierdec-trio? Долго смотрел на параметры, но не могу понять для каких целей лучше использовать одну и другую…
4. Я увидел в параметрах конвертера steps_per_quarter, означает ли его присутствие что можно обучать модели в разных размерах?
5. Если после обучения появилась новая пачка подходящих миди — можно ли дообучить модель новым .tfrecord, и если да, то стоит ли дообучать модель только с новыми треками, или желательно заново с полным комплектом?
Огромное спасибо за ответы! Буду эксперементировать, еще очень порадовал набор Magenta Studio для аблетона, решает кучу задач. Еще забыл спросить, есть ли особая разница, тренировать полноценными midi треками со всеми инструментами, или разрезать на midi с однотипными инструментами? Т.е. отдельные модели гитар, басов, синтов, для одних и тех же треков.
Я все же подозреваю проблема была в памяти, т.к. при запуске обучения было свободно 40 Гб на диске, и 2 чекпоинта в настройках. Купил VPS по скидке на 16 Гб RAM и 4 ядра, завелось без проблем, потребляет 6 Гб RAM, но да, за 12 часов 30 мидишек прошли 1400 шагов. Подскажите плиз, не могу разобраться:
1. Влияет ли на скорость/качество увеличение-уменьшение чекпоинтов, sampling_rate и batch_size?
2. Сколько навскидку скушает денег на гугл облаке обучение одной тестовой модели с парой десятков миди?
3. TPU же не поддерживается на данный момент?
4. num_steps в примере указан 2 раза, первый = 1, второй = 5000. Это количество эпох, и применяется последнее указанное значение, первое можно не задавать?
5. Чем отличаются hier-multiperf_vel_1bar_med и hier-multiperf_vel_1bar_big?
6. С 1-го по 1400 шаг такая последовательность loss — 437-652-396-389-362-507-517-701-667-363-369-393-505-490-361, это нормально что значение не уменьшается, а болтается вверх-вниз, или я что-то неправильно сделал, или потому что без GPU?
7. Можно ли прервать обучение, и затем запустить с последнего чекпоинта?
А не посоветуете минимальный конфиг для обучения? Я потестил без GPU на VPS (Centos 7, python 2.7, 4Гб ОЗУ, 1 ядро 2.5 Ггц), и на первом чекпоинте вылетает Out of memory, а триальный Google Сloud сжег еще год назад…
Про это сочетание клавиш знает не так много людей, и задачу оно не решает, т.к. показывает что больше всего памяти жрут субфреймы, вынесенные на верхний уровень из вкладок, и какая вкладка его загрузила уже не очень понятно. Но отслеживание это уже такое… я привел пример в том смысле, что они предлагают резать допустимые килобайты для загрузки, но не обращают внимание что одна страница может съесть ОЗУ и ЦП юзера, независимо от размера загруженных скриптов.
Лучше бы потребление ресурсов хромом ограничили на страницу, а не со скоростью загрузки носились. Вот например сейчас у меня на win 8.1 открыто 15 вкладок, всего хром жрет 1.5 Гб ОЗУ, в диспетчере задач 25 процессов chrome.exe, один из них кушает 700 МБ… Без доп проверок даже не понятно какая вкладка грузит систему. JS может ничего не весить, просто получит аяксом здоровенный массив и переворачивая циклом без таймаута повесит юзеру систему.
Автопилоты, колесики… неужели нельзя просто цеплять авто за петли и протаскивать по тоннелю конвейером, не полагаясь на исправность машины и автопилота?
У меня 16 Гб ОЗУ и я попал в Out of memory на первом шаге, в этом случае может помочь снижение batch_size, и точно поможет снижение параметров enc_rnn_size и dec_rnn_size.
1. Возможно ли увеличить количество тактов модели? Я пробовал поставить 32 такта дедуктивным методом:
Но получаю ошибку при запуске обучения:
InvalidArgumentError (see above for traceback): assertion failed: [512 512 512...]
[[node Assert/Assert (defined at /usr/lib/python2.7/site-packages/magenta/models/music_vae/lstm_utils.py:305) = Assert[T=[DT_INT32], summarize=3, _device="/job:localhost/replica:0/task:0/device:CPU:0"](All, Minimum_1)]]
2. Возможно ли добавить еще одну мелодию при генерации(или может сразу при обучении), чтобы на выходе получалось [melody, melody, bass, drums]?
3. В чем основные различия моделей hier-trio и hierdec-trio? Долго смотрел на параметры, но не могу понять для каких целей лучше использовать одну и другую…
4. Я увидел в параметрах конвертера steps_per_quarter, означает ли его присутствие что можно обучать модели в разных размерах?
5. Если после обучения появилась новая пачка подходящих миди — можно ли дообучить модель новым .tfrecord, и если да, то стоит ли дообучать модель только с новыми треками, или желательно заново с полным комплектом?
1. Влияет ли на скорость/качество увеличение-уменьшение чекпоинтов, sampling_rate и batch_size?
2. Сколько навскидку скушает денег на гугл облаке обучение одной тестовой модели с парой десятков миди?
3. TPU же не поддерживается на данный момент?
4. num_steps в примере указан 2 раза, первый = 1, второй = 5000. Это количество эпох, и применяется последнее указанное значение, первое можно не задавать?
5. Чем отличаются hier-multiperf_vel_1bar_med и hier-multiperf_vel_1bar_big?
6. С 1-го по 1400 шаг такая последовательность loss — 437-652-396-389-362-507-517-701-667-363-369-393-505-490-361, это нормально что значение не уменьшается, а болтается вверх-вниз, или я что-то неправильно сделал, или потому что без GPU?
7. Можно ли прервать обучение, и затем запустить с последнего чекпоинта?