- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是代码。
def create_train_model(hidden_nodes,num_iters):
tf.reset_default_graph()
X=tf.placeholder(shape=(120,4),dtype=tf.float64,name='X')
y=tf.placeholder(shape=(120,1),dtype=tf.float64,name='y')
W1=tf.Variable(np.random.rand(4,hidden_nodes),dtype=tf.float64)
W2=tf.Variable(np.random.rand(hidden_nodes,2),dtype=tf.float64)
A1=tf.sigmoid(tf.matmul(X,W1))
U_est=tf.sigmoid(tf.matmul(A1,W2))
loss=fuloss3(U_est,y)
optimizer=tf.train.AdagradOptimizer(4.9406564584124654e-324)
TRAIN=optimizer.minimize(loss)
init=tf.initialize_all_variables()
sess=tf.Session()
sess.run(init)
for i in range(num_iters):
pout=sess.run(loss,feed_dict={X: Xtrain,
y: ytrain})
sess.run(TRAIN,feed_dict={X: Xtrain,
y: ytrain})
loss_plot[hidden_nodes][i]=sess.run(loss,feed_dict={X: Xtrain,y:
ytrain})
print(pout)
weights1=sess.run(W1)
weights2=sess.run(W2)
print(weights1)
print(weights2)
print('loss (hidden nodes: %d, iterations: %d): %.2f'%(hidden_nodes,
num_iters,loss_plot[hidden_nodes][num_iters-1]))
sess.close()
return weights1, weights2
print(pout)
返回一个非 nan
数字。训练结束后,权重全部为 nan
。即使我将学习率设置为尽可能最小。为什么会出现这种情况呢?由于学习率如此之小,您基本上不会移动变量。从 pout
可以明显看出,最初的损失运行给出了有效的结果,这意味着这不是我设置损失的问题。提前致谢。
最佳答案
我怀疑您的问题出在这里:
W1=tf.Variable(np.random.rand(4,hidden_nodes),dtype=tf.float64)
W2=tf.Variable(np.random.rand(hidden_nodes,2),dtype=tf.float64)
试试这个:
W1 = tf.get_variable("W1", shape=..., dtype=...,
initializer=tf.contrib.layers.xavier_initializer())
W2 = tf.get_variable("W2", shape=..., dtype=...,
initializer=tf.contrib.layers.xavier_initializer())
你的权重初始化在[0,1]范围内,这是相当大的权重。这将使网络开始出现剧烈的梯度波动,这可能会让您陷入 NaN
情况。
xavier 初始化程序将考虑节点的输入数量并初始化该值,以免节点饱和。通俗地说,它会根据您的架构智能地初始化权重。
请注意,此初始化程序也有一个约定版本。
或者,作为快速测试,您可以通过简单地将随机权重乘以一个小值(例如 1e-4)来减小权重初始化的大小。
如果这不能解决问题,请在此处发表评论。
关于python - 即使我将学习率设置得尽可能小, tensorflow 优化器也会输出 nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51071994/
我使用 QBFC v13 和 Delphi XE6。 目标是从我的应用程序创建 Estimate 并将其参数设置到 QuickBooks 中。 我从 QBFC13 导入类型库并将其添加到我的项目中。
我有一个数据库,其中有很多格式不正确的地址。在这个地址中,我只有一个街道地址或带有城市名称的街道。在我的应用程序中,用户选择一些类别,然后我想在 map 上显示例如 50,100,300 等地址。(不
在大多数软件项目中,缺陷源自需求、设计、编码和缺陷更正。根据我的经验,大多数缺陷都源于编码阶段。 我有兴趣了解软件开发人员使用哪些实用方法来降低缺陷注入(inject)率。 我已经看到以下方法的使用取
我正在使用实时 API 中的标签订阅构建一个应用程序,并且有一个与容量规划相关的问题。我们可能有大量用户同时发布到订阅的主题标签,因此问题是 API 实际发布到我们的订阅处理端点的频率是多少?例如,如
尝试使用 NULLIF 或 IFNULL 函数,但仍收到被零除的消息。 SELECT client_id ,COUNT(distinct CASE WHEN status = 'failed' THE
我目前正在开发一个使用 Django-rest-framework 制作的 API。我必须根据每个用户组设置限制率。 我们目前使用默认配置的 memcached 作为缓存后端,即按站点缓存。 在使用
我认为有时在神经网络(特别是一般对抗网络)训练期间改变丢失率可能是一个好主意,从高丢失率开始,然后线性地将丢失率降低到零。您认为这有意义吗?如果是的话,是否有可能在 tensorflow 中实现这一点
我有一个 Windows Server 2008,Plesk 运行着两个网站。有时服务器运行缓慢,并且有一个 named.exe 进程使 CPU 峰值达到 100%。它持续很短的时间,过一会儿它又来了
我正在使用 scikit-learn 随机森林分类器,我想通过将成功投票所需的树数量从大于 50% 增加到 75% 来降低 FP 率,在阅读文档后我不这样做确定如何做到这一点。有没有人有什么建议。 (
当我连续按下按键事件(字母 k)时,为什么以下按键事件不会减慢 3000 密耳?如果我按住手指,计数会迅速增加,因为 mcount 上没有 setTimeout。这是为什么?每次计数之间应该有延迟,但
我是一名优秀的程序员,十分优秀!