Python中文
首页
教程
问答
标签
搜索
登录
注册
“视图”方法在PyTorch中是如何工作的?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我对下面代码片段中的方法<code>view()</code>感到困惑。</p> <pre><code>class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(3, 6, 5) self.pool = nn.MaxPool2d(2,2) self.conv2 = nn.Conv2d(6, 16, 5) self.fc1 = nn.Linear(16*5*5, 120) self.fc2 = nn.Linear(120, 84) self.fc3 = nn.Linear(84, 10) def forward(self, x): x = self.pool(F.relu(self.conv1(x))) x = self.pool(F.relu(self.conv2(x))) x = x.view(-1, 16*5*5) x = F.relu(self.fc1(x)) x = F.relu(self.fc2(x)) x = self.fc3(x) return x net = Net() </code></pre> <p>我的困惑是关于下面这一行。</p> <pre><code>x = x.view(-1, 16*5*5) </code></pre> <p><code>tensor.view()</code>函数做什么?我在很多地方见过它的用法,但我不明白它是如何解释它的参数的。</p> <p>如果我将负值作为<code>view()</code>函数的参数,会发生什么情况?例如,如果我调用<code>tensor_variable.view(1, 1, -1)</code>,会发生什么?</p> <p>有人能用一些例子解释一下<code>view()</code>函数的主要原理吗?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我发现<code>x.view(-1, 16 * 5 * 5)</code>相当于<code>x.flatten(1)</code>,其中参数1表示展平过程从第一个维度开始(而不是展平“sample”维度) 如您所见,后一种用法在语义上更清晰、更易于使用,因此我更喜欢<code>flatten()</code>。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何替换子字符串,但前提是它正好出现在两个单词之间
3 回答
如何替换字典中所有出现的指定字符
9 回答
如何替换字典中所有键的第一个字符?
7 回答
如何替换字典所有键中的子字符串
3 回答
如何替换字符串python中的变量值?
9 回答
如何替换字符串Python中的第二次迭代
6 回答
如何替换字符串y Python中不等于字符串x的所有内容?
3 回答
如何替换字符串中出现的第n个单词?
2 回答
如何替换字符串中单词的一部分
6 回答
如何替换字符串中同时出现的2个或更多特殊字符或下划线
9 回答
如何替换字符串中指定位置(索引)的字符?
7 回答
如何替换字符串中某个字符的所有匹配项?
1 回答
如何替换字符串中的
8 回答
如何替换字符串中的一个字符
10 回答
如何替换字符串中的主题(固定位置)
8 回答
如何替换字符串中的分隔逗号?
7 回答
如何替换字符串中的列名(python)?
3 回答
如何替换字符串中的制表符?
10 回答
如何替换字符串中的单个单词而不是用相同的字符替换其他单词
8 回答
如何替换字符串中的单个字符?
8 回答