Всем привет!
Я пытаюсь выполнить байесовскую оптимизацию, чтобы найти лучшие гиперпараметры для глубокой нейронной сети, и я хочу, чтобы переменная MiniBatchSize имела в данном случае только три возможных значения: 8, 10, 12. Я подумал, что могу объявить optVar как если бы это был массив
interval = 8:2:12; optVar = optimizableVariable('MiniBatchSize', interval, 'Type', 'integer');
Этот код вызывает следующую ошибку:
Ошибка при использовании optimizableVariable/checkRange
Значение Диапазон должно быть массивом строк, массивом ячеек из символьных векторов или числовым вектором длины 2.
Я что-то упускаю? Есть ли другой способ выполнить это?
ОТВЕЧАТЬ
Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.
Предположим, что X — целочисленная переменная, которая принимает только значения 1:5.
Но вам нужны нецелочисленные уровни некоторого параметра. Например, возможно, вам нужны уровни [1,5, 3,5, 5,5, 7,5, 9,5]?
Внутри вашего кода просто напишите
Xhat = 2*X - 0.5;
Согласны ли вы с тем, что Xhat берет желаемый уровень?
Они даже не должны быть регулярными. Предположим, вам нужны уровни в [2 3 5 7 11]? Внутри вашего кода вы можете сделать это:
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ