发新帖

【已学会】TF学习之命名坑---【如何在tensorboard中正确命名】

[复制链接]
751 8

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
本帖最后由 M丶Sulayman 于 2018-4-28 11:26 编辑

QQ图片20180427111006.png
我看了视频刚学习到tensorboard,感觉是视频所用的TF版本过低的原因,我用新版本的TF,命名之后的权重、偏置值之类的怎么看着这么啰嗦(命名都重复了,然后我去掉了命名代码,这些图又出不来了,蛋疼)......代码如下:


  1. def add_layer(inputs, in_size, out_size, n_layer, actvation_faction=None):
  2.     layer_name = 'n_layer%s' % n_layer
  3.     with tf.name_scope(layer_name):
  4.         with tf.name_scope('weights'):
  5.               Weights = tf.Variable(tf.random_normal([in_size, out_size]), name='w')
  6.               tf.summary.histogram(layer_name+'/weights', Weights)
  7.         with tf.name_scope('biases'):
  8.               biases = tf.Variable(tf.zeros([1, out_size])+0.1, name='b')
  9.               tf.summary.histogram(layer_name+'/biases', biases)

  10.         with tf.name_scope('Wx_plus_b'):
  11.               Wx_plus_b = tf.add(tf.matmul(inputs, Weights), biases)
  12.         if actvation_faction is None:
  13.               outputs = Wx_plus_b
  14.         else:
  15.               outputs = actvation_faction(Wx_plus_b,)
  16.               tf.summary.histogram(layer_name+'/outputs', outputs)

  17.         return outputs
复制代码

上述问题在Zerone01的帮助下现已解决,理解了之后,现将代码改为:
  1. def add_layer(inputs, in_size, out_size, n_layer, actvation_faction=None):
  2.     layer_name ='Layer_%s' % n_layer
  3.     with tf.name_scope(layer_name):
  4.         Weights = tf.Variable(tf.random_normal([in_size, out_size]), name='w')
  5.         tf.summary.histogram('/weights', Weights)
  6.         biases = tf.Variable(tf.zeros([1, out_size])+0.1, name='b')
  7.         tf.summary.histogram('/biases', biases)
  8.         Wx_plus_b = tf.add(tf.matmul(inputs, Weights), biases, name='wx_plus_b')
  9.         if actvation_faction is None:
  10.             outputs = Wx_plus_b
  11.         else:
  12.             outputs = actvation_faction(Wx_plus_b)
  13.             tf.summary.histogram('/outputs', outputs)

  14.     return outputs
复制代码

我知道答案 回答被采纳将会获得10 金币 + 10 金币 已有8人回答
本楼点评(2) 收起
  • yunhai_luo多问一句,所以你的问题是什么呢?为什么这么啰嗦/怎么改?还是你想知道是不是版本问题?
    2018-4-27 15:08 回复
  • M丶Sulayman回复 yunhai_luo :额,我意思为什么图名重复了两次,我不知道咋搞
    2018-4-27 15:34 回复

精彩评论8

Future  TF豆豆  发表于 2018-4-28 00:19:48 | 显示全部楼层
本帖最后由 Future 于 2018-4-28 00:22 编辑

想问一下为什么我输了tensorboard --logdir之后按他给出来的网址打不开tensorboard,一直卡在这,直接输localhost:6006那个就直接无法显示网页了
无标题.png
本楼点评(5) 收起
  • yunhai_luo可以试试 tensorboard --logdir=/path/to/log/dir --host=127.0.0.1 --port=6006 或者试试其它浏览器,希望有帮助。
    2018-4-28 01:01 回复
  • SuperLee有一种说法是tensorboard只能用Chrome浏览器或者Firefox打开,建议你试一下这两个浏览器
    2018-4-28 08:50 回复
  • Future回复 SuperLee :确实是,换了chrome就好了,楼上说的指令也没效果,还得换浏览器
    2018-4-29 18:54 回复
  • M丶Sulayman回复 Future :嗯=,=人家就忍谷歌的浏览器
    2018-4-29 20:00 回复
  • dear如果前台一片空白,并且谷歌浏览器版本是49以下的。那可以尝试换以下新版本的谷歌浏览器。我当时就遇到这个大坑,弄了好几天,后来还是去Stack Overflow 提问,有一个人答我才知道是怎么回事的。https://stackoverflow.com/questi ... -chrome-shows-blank
    2018-7-3 23:01 回复
Zerone01  TF荚荚  发表于 2018-4-28 08:25:26 | 显示全部楼层
我的理解是,网络的同一层使用同一个name_scope,你那样写的话在同一层里嵌套了多个name_scope,应该是把name_scope和name两个概念混淆了。
name_scope相当于是给一个班级命名,name是给班上的某位学生命名,这样即使不同班级中有同名学生也不会冲突,只要一个班里没有同名的学生就行。

可以这样写试试:
  1. def add_layer(inputs, in_size, out_size, n_layer, actvation_faction=None):
  2.     layer_name = 'n_layer%s' % n_layer
  3.     with tf.name_scope(layer_name):
  4.        Weights = tf.Variable(tf.random_normal([in_size, out_size]), name='w')
  5.        tf.summary.histogram(layer_name+'/weights', Weights)
  6.        biases = tf.Variable(tf.zeros([1, out_size])+0.1, name='b')
  7.        tf.summary.histogram(layer_name+'/biases', biases)
  8.        Wx_plus_b = tf.add(tf.matmul(inputs, Weights), biases,name='Wx_plus_b')
复制代码



本楼点评(1) 收起
M丶Sulayman  TF豆豆  发表于 2018-4-28 10:17:09 | 显示全部楼层
Future 发表于 2018-4-28 00:19
想问一下为什么我输了tensorboard --logdir之后按他给出来的网址打不开tensorboard,一直卡在这,直接输loc ...

额,360可以打开,但是很慢。建议你用谷歌的Chrome浏览器,标配哦
本楼点评(0) 收起
M丶Sulayman  TF豆豆  发表于 2018-4-28 10:23:51 | 显示全部楼层
Zerone01 发表于 2018-4-28 08:25
我的理解是,网络的同一层使用同一个name_scope,你那样写的话在同一层里嵌套了多个name_scope,应该是把nam ...

讲解的通俗易懂,感谢~早晨起来就看到这一波操作,666~
本楼点评(0) 收起
neverchange  TF豆豆  发表于 2018-7-3 23:03:21 | 显示全部楼层
chrome浏览器最新版本标配的,如果遇到显示问题的话。
本楼点评(0) 收起
ves  TF荚荚  发表于 2018-7-4 20:43:37 | 显示全部楼层
确实是个细节问题
本楼点评(0) 收起
kdongyi  TF荚荚  发表于 2018-7-15 17:22:38 | 显示全部楼层
def add_layer(inputs, in_size, out_size, n_layer, actvation_faction=None):
    layer_name = 'n_layer%s' % n_layer
    with tf.name_scope(layer_name):
       Weights = tf.Variable(tf.random_normal([in_size, out_size]), name='w')
       tf.summary.histogram(layer_name+'/weights', Weights)
       biases = tf.Variable(tf.zeros([1, out_size])+0.1, name='b')
       tf.summary.histogram(layer_name+'/biases', biases)
       Wx_plus_b = tf.add(tf.matmul(inputs, Weights), biases,name='Wx_plus_b')
本楼点评(0) 收起
ViolinSolo  TF豆豆  发表于 2018-7-16 11:00:19 | 显示全部楼层
可以可以,学到了,其实我最开始以为你要说什么特殊的命名规范。。。
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

快速回复 返回顶部 返回列表