1.add_to_collection
add_to_collectio为Graph的一个方法,可以简单地认为Graph下维护了一个字典,key为name,value为list,而add_to_collection就是把变量添加到对应key下的list中

add_to_collection(name,value)
Stores value in the collection with the given name.
Note that collections are not sets,so it is possible to add a value to a collection several times.
Args:
name: The key for the collection. The GraphKeys class contains many standard names for collections. value: The value to add to the collection.

下面给出一个简单的demo,其目的是为了说明在collection中的变量是对象引用

sess=tf.InteractiveSession()
#初始化2个Variable
v1=tf.Variable(tf.constant(1))
v2=tf.Variable(tf.constant(1))
#设置保存到collection的name为collection
name='collection'
#把v1和v2添加到默认graph的collection中
tf.add_to_collection(name,v1)
tf.add_to_collection(name,v2)
#获得名为name的集合
c1 = tf.get_collection(name)
tf.global_variables_initializer().run()
print("the first collection: %s"%sess.run(c1))
#修改v1和v2的值,必须使用eval()或run()进行执行
tf.assign(v1,tf.constant(3)).eval()
tf.assign(v2,tf.constant(4)).eval()
#再次查看collection中的值
c2 = tf.get_collection(name)
print("the second collection: %s"%sess.run(c2))
print("the sum of collection: %s"%sess.run(tf.add_n(c2))
#resut:
#the first collection: [1,1]
#the second collection: [3,4]
#the sum of collection: 7

2.L2正则化
你可以简单理解L2为欧式距离,具体如何正则化权重,请参考neural-networks-and-deeplearning,这里我只进行简单的介绍。 loss0 表示原始的损失函数,后面的部分为L2正则化。

loss=loss0+λ2ww2

规范化的效果是让网络倾向于学习小一点的权重,大的权重只有能够给出代价函数第一项足够的提升时才被允许。换言之,规范化可以当做一种寻找小的权重和最小化原始的代价函数之间的折中。这两部分之前相对的重要性就由的值来控制了 λ 越小,就偏向于最小化原始代价函数,反之,倾向于小的权重。

在下一节,因为要使用L2正则化权重,所以使用collection来保存多个权重向量的L2值,在把它们累加即 λ2Σw2

tensorflow:3.1)add_to_collection和L2正则化的更多相关文章

  1. 如何在IOS中的UIStackView中设置权重

    UIStackView类似于AndroidLinearLayout,但我无法弄清楚如何为子视图设置权重.假设我有一个垂直的UIStackView和3个UIImageViews.我想为UIImageViews连续设置权重3,6,1.我怎么做?解决方法UIStackView没有相同的权重概念.它可以使用子视图的intrinsicContentSize作为权重,但设置特定的intrinsicConten

  2. 如何在Android平台上使用Tensorflow?

    谷歌为开发者提供了TENSORFLOW开源软件.有什么方法可以在Android上使用它吗?

  3. 具有多列的Android ListView正确对齐

    我的平板电脑应用程序在每个订单项中显示一个包含多个TextView的ListView.我有大约6-7列,给所有列提供相等空格的最佳方法是什么?

  4. 直接在Android NDK端使用tensorflow(不使用JAVA api)

    如何在Android上使用Capis构建和链接tensorflow库.你能指导我吗?

  5. 是否有可能在Android上训练tensorflow?

    似乎没有CAPI来训练张量流图并保存到pb.so,在Android平台上有什么办法吗?我可以在Android设备上使用pythonAPI构建tensorflow工作区吗?

  6. python深度学习tensorflow1.0参数和特征提取

    这篇文章主要为大家介绍了python深度学习tensorflow1.0参数和特征提取,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  7. python人工智能tensorflow函数tf.get_variable使用方法

    这篇文章主要为大家介绍了python人工智能tensorflow函数tf.get_variable使用方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  8. python人工智能tensorflow优化器Optimizer算法汇总

    这篇文章主要为大家介绍了python人工智能tensorflowtf优化器Optimizer算法汇总,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  9. python神经网络tensorflow利用训练好的模型进行预测

    这篇文章主要为大家介绍了python神经网络tensorflow利用训练好的模型进行预测,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. python人工智能tensorflow函数np.random模块使用

    这篇文章主要为大家介绍了python人工智能tensorflow函数np.random模块使用方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

随机推荐

  1. 法国电话号码的正则表达式

    我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

  2. 正则表达式 – perl分裂奇怪的行为

    PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

  3. 正则表达式 – 正则表达式大于和小于

    我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

  4. 如何使用正则表达式用空格替换字符之间的短划线

    我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

  5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

    有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

  6. 正则表达式 – 在Scala中验证电子邮件一行

    在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

  7. 正则表达式对小字符串的暴力

    在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

  8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

    isthedelimiter,thenthematch-only-onceruleof?PATTERN?

  9. 正则表达式 – 替换..与.在R

    我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

  10. 正则表达式 – 如何在字符串中的特定位置添加字符?

    我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

返回
顶部