当前位置: 首页 > news >正文

RuntimeError: view size is not compatible with input tensor‘s size and stride

在运行程序中:

    def forward(self, x):
        out = self.cnn(x)
        out = out.view(out.size()[0], -1)
        return self.fc(out)

python报错:

RuntimeError: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.

这是因为view()需要Tensor中的元素地址是连续的,但可能出现Tensor不连续的情况,所以先用 .contiguous() 将其在内存中变成连续分布:

        out = out.contiguous().view(out.size()[0], -1)

这样就好了。

补充说明:

这里简单说一下连续性是什么意思。多维张量在内存中存储是线性数组,而怎么去解读它,就需要自己定义shape,比如对于a[6]数组,可以解释为两行三列(2,3)或者三行两列(3,2)。而这里的索引和在内存中的线性数组的一一对应关系要符合一定的规则,符合就是连续的,不符合就不是,就得需要调用contiguous。而大家在训练网络中,并不需要理解背后的机理,这属于张量计算框架的内容,想要进一步了解的可以参考Github上的miniTorch教程。

相关文章:

  • VS报错 Error    MSB4018    The “VCMessage“ task failed unexpectedly. System.
  • C++运行时库的判定
  • fatal error LNK1169: one or more multiply defined symbols found
  • 利用MC原理来计算面光源对空间点入射的能量
  • 三次样条插值的原理(一)
  • 体渲染方程记录
  • glut 常用函数描述
  • 什么是卷积,以及卷积的意义
  • 各态历经性的整理
  • 联合概率密度函数
  • git clone 默认下载目录
  • 编译PBRT-v3源码
  • VSCode与Latex环境的搭建(最简洁,最省事,最舒服的方案,不用搞一堆乱七八糟的配置)
  • OpenCV,3.4.2+VS2015+CUDA10.1+contrib环境搭建
  • LINK : fatal error LNK1158: cannot run ‘rc.exe‘
  • Hexo+码云+git快速搭建免费的静态Blog
  • IOS评论框不贴底(ios12新bug)
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Laravel Mix运行时关于es2015报错解决方案
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • Spring Boot MyBatis配置多种数据库
  • Vue 动态创建 component
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 分布式事物理论与实践
  • 漂亮刷新控件-iOS
  • 如何学习JavaEE,项目又该如何做?
  • 树莓派 - 使用须知
  • 小而合理的前端理论:rscss和rsjs
  • 一个JAVA程序员成长之路分享
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​比特币大跌的 2 个原因
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $.proxy和$.extend
  • (31)对象的克隆
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (四)Linux Shell编程——输入输出重定向
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • **PHP二维数组遍历时同时赋值
  • .libPaths()设置包加载目录
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET 指南:抽象化实现的基类
  • .net6+aspose.words导出word并转pdf
  • .NetCore部署微服务(二)
  • .NET处理HTTP请求
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [20160902]rm -rf的惨案.txt
  • [ABC294Ex] K-Coloring