Оптимизаторы — это расширенный класс, который включает дополнительную информацию для обучения конкретной модели. Класс оптимизатора инициализируется с заданными параметрами, но важно помнить, что тензор не нужен. Оптимизаторы используются для повышения скорости и производительности при обучении конкретной модели.
Основной оптимизатор TensorFlow — это
tf.train.Optimizer
Этот класс определен в указанном пути файла tenorflow / python / training / optimizer.py.
Ниже приведены некоторые оптимизаторы в Tensorflow —
- Стохастический градиентный спуск
- Стохастический градиентный спуск с градиентным отсечением
- инерция
- Нестеров импульс
- Adagrad
- Adadelta
- RMSProp
- Адам
- Adamax
- SMORMS3
Мы сосредоточимся на стохастическом градиентном спуске. Иллюстрация для создания оптимизатора для того же самого упомянута ниже —
def sgd(cost, params, lr = np.float32(0.01)): g_params = tf.gradients(cost, params) updates = [] for param, g_param in zip(params, g_params): updates.append(param.assign(param - lr*g_param)) return updates
Основные параметры определены в конкретной функции. В нашей следующей главе мы сосредоточимся на оптимизации градиентного спуска с использованием оптимизаторов.