据我所知,Variable
是制作变量的默认操作,get_variable
主要用于权重分享.
一方面,有些人建议在需要变量时使用get_variable
而不是原始Variable
操作.另一方面,我只是get_variable
在TensorFlow的官方文档和演示中看到任何使用.
因此,我想知道如何正确使用这两种机制的一些经验法则.有没有"标准"原则?
我在使用TensorFlow实现的许多可用神经网络代码中发现,正则化术语通常通过手动向损失值添加附加项来实现.
我的问题是:
有没有比手动更优雅或推荐的正规化方法?
我也发现get_variable
有一个论点regularizer
.该如何使用?根据我的观察,如果我们将正则化器传递给它(例如tf.contrib.layers.l2_regularizer
,表示正则化术语的张量将被计算并添加到名为的图形集合中tf.GraphKeys.REGULARIZATOIN_LOSSES
.TensorFlow是否会自动使用该集合(例如,在训练时由优化器使用)?或者是否应该自己使用该系列?
在numpy中,我们ndarray.reshape()
用于重塑数组.
我注意到在pytorch中,人们使用torch.view(...)
同样的目的,但同时也torch.reshape(...)
存在.
所以我想知道他们和我应该使用其中任何一个之间的差异是什么?
在TensorFlow FAQ中,它说:
在TensorFlow中,张量具有静态(推断)形状和动态(真实)形状.静态形状可以使用tf.Tensor.get_shape()方法被读取:该形状是从被用来创建该张量的操作推断出,并且可以是部分完成.如果静态形状没有完全定义,则可以通过评估tf.shape(t)来确定Tensor t的动态形状.
但我仍然无法完全理解静态形状和动态形状之间的关系.是否有任何显示其差异的例子?谢谢.
有没有办法在同一图表上绘制训练损失和验证损失?
很容易为每个单独的标记提供两个单独的标量摘要,但这会将它们放在单独的图形上.如果两者都显示在同一图表中,则更容易看出它们之间的差距以及它们是否因过度拟合而开始出现分歧.
有没有内置的方法来做到这一点?如果没有,一个解决方法?非常感谢!
在官方文档中,它说:
substitute返回(未评估的)表达式expr的解析树,替换env中绑定的任何变量.
quote简单地返回它的参数.该参数未被评估,可以是任何R表达式.
但是当我尝试:
> x <- 1
> substitute(x)
x
> quote(x)
x
Run Code Online (Sandbox Code Playgroud)
它看起来像两个quote
并substitute
返回作为参数传递给它们的表达式.
所以我的问题是,什么是之间的区别substitute
和quote
,什么意思"代势必ENV任何变数"?
我是Scala的新手.我刚刚听到"eta扩展"一词,并且大致知道它意味着将方法扩展为函数对象.但我发现很少有资源可以系统地介绍它.
我很好奇eta扩展在Scala中是如何工作的.需要进行eta扩展的场景是什么?以及如何在Scala中实现eta扩展?
我大致知道在这种情况下:
def someMethod(x: Int): Int = x * x
Run Code Online (Sandbox Code Playgroud)
someMethod _
将大致翻译成一个新的函数对象,如下所示:
new Function1[Int, Int] {
def apply(x: Int): Int = x * x
}
Run Code Online (Sandbox Code Playgroud)
是Scala的全部吗?
我对Data.Functor.Constant的类型构造函数以及它如何与applicative一起使用感到困惑.
首先是构造函数:
当我检查的类型 Constant :: a -> Constant a b
我看到它需要一个a
,但返回一个Constant a b
它b
来自哪里,为什么存在?
其次,我正在努力应用:
我理解Constant需要将Monoid作为Applicative实例.
它必须遵守的法律是: pure id <*> Constant x = x
我以为那是一样的: Constant id <*> Constant x = x
但我想我错了,因为以下代码清楚地表明了纯粹的行为.
:t pure id <*> Constant "hello" // Constant [Char] b
:t Constant id <*> Constant "hello" // Couldn't match expected type `a0 -> a0' with actual type `[Char]'
:t pure id <*> Constant reverse // Constant ([a] -> [a]) b
:t Constant …
Run Code Online (Sandbox Code Playgroud) 这是在C#中获取特定Exception名称的最佳方法:
ex.GetType().ToString()
Run Code Online (Sandbox Code Playgroud)
它位于通用异常处理程序中:
catch (Exception ex)
Run Code Online (Sandbox Code Playgroud) 在文件中numpy.reshape
,它说:
如果可能,这将是一个新的视图对象; 否则,它将是一份副本.注意,不保证返回数组的内存布局(C-或Fortran-连续).
我的问题是,numpy何时会选择返回一个新视图,何时复制整个数组?是否有任何一般原则告诉人们行为reshape
,或者只是不可预测?谢谢.
tensorflow ×4
python ×3
.net ×1
applicative ×1
c# ×1
constants ×1
exception ×1
functor ×1
haskell ×1
monoids ×1
numpy ×1
pytorch ×1
r ×1
reflection ×1
scala ×1
tensorboard ×1