- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章pytorch方法测试详解——归一化(BatchNorm2d)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
测试代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import
torch
import
torch.nn as nn
m
=
nn.BatchNorm2d(
2
,affine
=
True
)
#权重w和偏重将被使用
input
=
torch.randn(
1
,
2
,
3
,
4
)
output
=
m(
input
)
print
(
"输入图片:"
)
print
(
input
)
print
(
"归一化权重:"
)
print
(m.weight)
print
(
"归一化的偏重:"
)
print
(m.bias)
print
(
"归一化的输出:"
)
print
(output)
print
(
"输出的尺度:"
)
print
(output.size())
# i = torch.randn(1,1,2)
print
(
"输入的第一个维度:"
)
print
(
input
[
0
][
0
])
firstDimenMean
=
torch.Tensor.mean(
input
[
0
][
0
])
firstDimenVar
=
torch.Tensor.var(
input
[
0
][
0
],
False
)
#Bessel's Correction贝塞尔校正不会被使用
print
(m.eps)
print
(
"输入的第一个维度平均值:"
)
print
(firstDimenMean)
print
(
"输入的第一个维度方差:"
)
print
(firstDimenVar)
bacthnormone
=
\
((
input
[
0
][
0
][
0
][
0
]
-
firstDimenMean)
/
(torch.
pow
(firstDimenVar
+
m.eps,
0.5
) ))\
*
m.weight[
0
]
+
m.bias[
0
]
print
(bacthnormone)
|
输出为:
输入图片:
1
2
3
4
5
6
7
8
|
tensor([[[[
-
2.4308
,
-
1.0281
,
-
1.1322
,
0.9819
],
[
-
0.4069
,
0.7973
,
1.6296
,
1.6797
],
[
0.2802
,
-
0.8285
,
2.0101
,
0.1286
]],
[[
-
0.5740
,
0.1970
,
-
0.7209
,
-
0.7231
],
[
-
0.1489
,
0.4993
,
0.4159
,
1.4238
],
[
0.0334
,
-
0.6333
,
0.1308
,
-
0.2180
]]]])
|
归一化权重:
1
2
|
Parameter containing:
tensor([
0.5653
,
0.0322
])
|
归一化的偏重:
1
2
|
Parameter containing:
tensor([
0.
,
0.
])
|
归一化的输出:
1
2
3
4
5
6
7
8
|
tensor([[[[
-
1.1237
,
-
0.5106
,
-
0.5561
,
0.3679
],
[
-
0.2391
,
0.2873
,
0.6510
,
0.6729
],
[
0.0612
,
-
0.4233
,
0.8173
,
-
0.0050
]],
[[
-
0.0293
,
0.0120
,
-
0.0372
,
-
0.0373
],
[
-
0.0066
,
0.0282
,
0.0237
,
0.0777
],
[
0.0032
,
-
0.0325
,
0.0084
,
-
0.0103
]]]])
|
输出的尺度:
1
|
torch.Size([
1
,
2
,
3
,
4
])
|
输入的第一个维度:
1
2
3
4
|
tensor([[
-
2.4308
,
-
1.0281
,
-
1.1322
,
0.9819
],
[
-
0.4069
,
0.7973
,
1.6296
,
1.6797
],
[
0.2802
,
-
0.8285
,
2.0101
,
0.1286
]])
1e
-
05
|
输入的第一个维度平均值:
1
|
tensor(
0.1401
)
|
输入的第一个维度方差:
1
2
|
tensor(
1.6730
)
tensor(
-
1.1237
)
|
结论:
输出的计算公式如下 。
注意torch中方差实现的方法是没有使用Bessel's correction 贝塞尔校正的方差,所以在自己写的方差中不要用错了。(贝塞尔校正,即样本方差和总体方差之间区别和校正。) 。
以上这篇pytorch方法测试详解——归一化(BatchNorm2d)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.
原文链接:https://blog.csdn.net/tmk_01/article/details/80679549 。
最后此篇关于pytorch方法测试详解——归一化(BatchNorm2d)的文章就讲到这里了,如果你想了解更多关于pytorch方法测试详解——归一化(BatchNorm2d)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我试图用这种形式简单地获取数字 28 integer+space+integer+integer+space+integer我试过这个正则表达式 \\s\\d\\d\\s 但我得到了两个数字11 和
最近一直在学习D语言。我一直对运行时感到困惑。 从我能收集到的关于它的信息中,(这不是很多)我知道它是一种有助于 D 的一些特性的运行时。像垃圾收集一样,它与您自己的程序一起运行。但是既然 D 是编译
想问一下这两个正则表达式有区别吗? \d\d\d 与 \d{3} 我已经在我的本地机器上使用 Java 和 Windows 操作系统对此进行了测试,两者都工作正常并且结果相同。但是,当在 linux
我正在学习 Go,而且我坚持使用 Go 之旅(exercise-stringer.go:https://tour.golang.org/methods/7)。 这是一些代码: type IPAddr
我在Java正则表达式中发现了一段令我困惑的代码: Pattern.compile( "J.*\\d[0-35-9]-\\d\\d-\\d\\d" ); 要编译的字符串是: String string
我在 ruby 代码上偶然发现了这个。我知道\d{4})\/(\d\d)\/(\d\d)\/(.*)/是什么意思,但是\1-\2-\3-\4 是什么意思? 最佳答案 \1-\2-\3-\4 是 b
我一直在努力解决这个问题,这让我很恼火。我了解 D 运行时库。它是什么,它做什么。我也明白你可以在没有它的情况下编译 D 应用程序。就像 XoMB 所做的那样。好吧,XoMB 定义了自己的运行时,但是
我有两个列表列表,子列表代表路径。我想找到所有路径。 List> pathList1 List> pathList2 当然是天真的解决方案: List> result = new ArrayList>
我需要使用 Regex 格式化一个字符串,该字符串包含数字、字母 a-z 和 A-Z,同时还包含破折号和空格。 从用户输入我有02-219 8 53 24 输出应该是022 198 53 24 我正在
目标是达到与this C++ example相同的效果: 避免创建临时文件。我曾尝试将 C++ 示例翻译为 D,但没有成功。我也尝试过不同的方法。 import std.datetime : benc
tl;dr:你好吗perfect forwarding在 D? 该链接有一个很好的解释,但例如,假设我有这个方法: void foo(T)(in int a, out int b, ref int c
有什么方法可以在 D 中使用abstract auto 函数吗? 如果我声明一个类如下: class MyClass { abstract auto foo(); } 我收到以下错误: mai
有没有人为内存中重叠的数组切片实现交集?算法在没有重叠时返回 []。 当 pretty-print (使用重叠缩进)内存中重叠的数组切片时,我想要这个。 最佳答案 如果您确定它们是数组,那么只需取 p
我已经开始学习 D,但我在使用 Andrei Alexandrescu 所著的 The D Programming Language 一书中提供的示例时遇到了一些麻烦。由于 int 和 ulong 类
如何创建一个不可变的类? 我的目标是创建一个实例始终不可变的类。现在我只是用不可变的方法和构造函数创建了一个“可变”类。我将其称为 mData,m 表示可变。然后我创建一个别名 alias immut
不久前我买了《The D Programming Language》。好书,很有教育意义。但是,我在尝试编译书中列出的语言功能时遇到了麻烦:扩展函数。 在这本书中,Andrei 写了任何可以像这样调用
我在 D http://www.digitalmars.com/d/2.0/lazy-evaluation.html 中找到了函数参数的惰性求值示例 我想知道如何在 D 中实现可能的无限数据结构,就像
这个问题在这里已经有了答案: 12 年前关闭。 Possible Duplicate: Could anyone explain these undefined behaviors (i = i++
当前是否可以跨模块扫描/查询/迭代具有某些属性的所有函数(或类)? 例如: source/packageA/something.d: @sillyWalk(10) void doSomething()
我是一名优秀的程序员,十分优秀!