在梯度下降NN期间绘制梯度大小对训练步长的图

问题描述

我正在使用keras训练我的CNN网络,以下代码供文本情感分类参考,并尝试使用CNN1D创建我自己的词嵌入。总的来说,我很好奇在梯度下降优化算法下绘制每个时期每个训练步骤的梯度大小,但是不确定如何这样做。目的是查看在模型训练期间是否确定梯度是消失还是爆炸。

model = Sequential()
model.add(Embedding(cnnvocab,100,input_length=maxtw_length,name="embedding"))
model.add(Conv1D(filters=32,kernel_size=8,activation='relu'))
model.add(GlobalAveragePooling1D())
model.add(Flatten())
model.add(Dense(16,activation='relu'))
model.add(Dense(1,activation='sigmoid'))

model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
# fit network
history = model.fit(xtrain,ytrain,batch_size = 8000,epochs=10,verbose=2,validation_data=(xtest,ytest),shuffle=True)
plt.pl

还有一种方法可以在亚当下绘制每一步的学习率,我假设学习率是非恒定的,并且随着算法向下移凸损失函数而降低?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)