Python Tensorflow RNN精度和成本:NaN
我为一些信号和它们的一个热编码标签训练了一个RNN。在解决了一些大小和形状不匹配的问题后,网络运行无误。然而,我得到的损失和准确性南Python Tensorflow RNN精度和成本:NaN,python,tensorflow,neural-network,deep-learning,recurrent-neural-network,Python,Tensorflow,Neural Network,Deep Learning,Recurrent Neural Network,我为一些信号和它们的一个热编码标签训练了一个RNN。在解决了一些大小和形状不匹配的问题后,网络运行无误。然而,我得到的损失和准确性南 Epoch 1 completed out of 10 loss: nan Epoch 2 completed out of 10 loss: nan Epoch 3 completed out of 10 loss: nan Epoch 4 completed out of 10 loss: nan Epoch 5 completed out of 10 los
Epoch 1 completed out of 10 loss: nan
Epoch 2 completed out of 10 loss: nan
Epoch 3 completed out of 10 loss: nan
Epoch 4 completed out of 10 loss: nan
Epoch 5 completed out of 10 loss: nan
Epoch 6 completed out of 10 loss: nan
Epoch 7 completed out of 10 loss: nan
Epoch 8 completed out of 10 loss: nan
Epoch 9 completed out of 10 loss: nan
Epoch 10 completed out of 10 loss: nan
Accuracy: nan
下面是我如何设置输入数据和标签的-
"""Input signals"""
for X in range(no_tau):
random.seed()
tau = np.array([int(math.ceil(np.random.uniform(lorange, hirange)))])
X= amplitude * np.exp(-t / tau)
X = np.reshape(X, [-1, 1,1])
#print(X)
"""Output labels"""
cn = 0
class1 = [0]
class2 = [1]
while (cn <no_tau):
tau = np.array([int(math.ceil(np.random.uniform(lorange, hirange)))])
if tau<500:
label = one_hot(class1, num_labels=2)
else:
label = one_hot(class2, num_labels=2)
cn = cn + 1
print ('For tau value of', tau, 'label is', label)
“输入信号”
对于范围内的X(无头):
random.seed()
tau=np.array([int(math.ceil(np.random.uniform(lorange,hirange))))
X=振幅*np.exp(-t/tau)
X=np.重塑(X,[-1,1,1])
#打印(X)
“”“输出标签”“”
cn=0
类别1=[0]
类别2=[1]
虽然你的学习率太高了。我试过使用小型LR 1e-5和1e-10,但仍然发现可能存在更多问题,但你没有正确设置X
和标签hi@rvinas,你认为哪里不对?你能建议一下吗?在调用训练神经网络(X)之前,试着打印X
和label
。
for epoch in range(hm_epochs):
epoch_loss = 0
i = 0
while i < no_tau:
start = i
end = i + batch_size
batch_x = np.array(X[start:end])
batch_y = np.array(label[start:end])
_, c = sess.run([optimizer, cost], feed_dict={x: batch_x, y: batch_y})
epoch_loss += c
i += batch_size