如何加快收敛速度?
- 使用GPU
越是复杂的网络,GPU的性能提高也明显。使用GPU是最有效的提高收敛速度的方法
- 【TensorFlow|Tensorflow 神经网络训练加速】使用model.fit()
使用tensorflow提供的model.fit()训练速度非常快,比自己编写的算法要快很多。凡是能够直接应用的,一定使用tensorflow提供的函数与方法。
- 使用@tf.function
如果必须要使用定制化的算法,可以在关键的地方使用@tf.function,大概可以提高1倍的训练速度。@tf.function 一般修饰梯度带所在的函数,也可以是计算损失函数。比如:
@tf.function
def train_ae(x):
with tf.GradientTape() as tape:
x_rec_logits = model(x)
# 把每个像素点当成一个二分类的问题;
rec_loss = tf.losses.binary_crossentropy(x, x_rec_logits, from_logits=True)
# rec_loss = tf.losses.MSE(x, x_rec_logits)
rec_loss = tf.reduce_mean(rec_loss)grads = tape.gradient(rec_loss, model.trainable_variables)
optimizer.apply_gradients(zip(grads, model.trainable_variables))
return rec_loss
推荐阅读
- 神经网络|Datawhale-李宏毅深度学习/神经网络训练方法
- 深度学习|【深度学习】吴恩达深度学习-Course1神经网络与深度学习-第三周浅层神经网络作业
- 机器学习的数学基础|机器学习的数学基础(5)(最小均方误差的回归问题)
- 深度学习|神经网络和深度学习-第2周 logistic-regression-as-a-neural-network
- 深度学习|神经网络和深度学习(二)-神经网络的编程基础
- 神经网络|神经网络与深度学习(一)- Logistic Regression as a Neural Network
- [DL]神经网络与深度学习|[2022-09-05]神经网络与深度学习第0章-basic‘s basic(part 2)
- [DL]神经网络与深度学习|[2022-08-29]神经网络与深度学习第0章-basic‘s basic(part 1)
- 神经网络与深度学习|神经网络与深度学习第3章(线性模型 阅读提问)