-
tensorflow에서 optimizer 'apply_gradients'와 'minimize' 차이검색하기 귀찮아서 블로그에 박제 2022. 7. 4. 22:19728x90
1.
optimizer = tf.train.AdamOptimizer(learning_rate) grads_and_vars = tape.gradient(cnn.loss) train_op = optimizer.apply_gradients(zip(grads_and_vars, model.trainable_variables))
2.
optimizer = tf.train.AdamOptimizer(learning_rate) train_op = optimizer.minimize(cnn.loss, global_step=global_step)
둘이 같은 동작을 한다고 보면 된다.
minimize는 다음과 같다.
def minimize(self, loss, var_list, grad_loss=None, name=None, tape=None): grads_and_vars = self._compute_gradients(loss, var_list=var_list, grad_loss=grad_loss, tape=tape) return self.apply_gradients(grads_and_vars, name=name)
그러나 _compute_gradients는 private 이므로 건드리지 않는게 좋다.
728x90'검색하기 귀찮아서 블로그에 박제' 카테고리의 다른 글
ImportError: cannot import name 'Feature' from 'setuptools' (0) 2022.08.02 Python 여러버전 설치하기 (1) 2022.07.08 [Pytorch error] RuntimeError: CUDA error: no kernel image is available for execution on the device (0) 2022.07.01 windows 11에서 ubuntu linux 연결하는 법 (0) 2022.05.18 QT 단축키 (0) 2021.12.21