Python Error fix-TypeError: _mean() got an unexpected keyword argument ‘dim‘_macd() got an unexpected keyword argument 'sigalpe-程序员宅基地

技术标签: python  pytorch  

TypeError: _mean() got an unexpected keyword argument 'dim’报错解决【numpy中用axis和pytorch中用dim,因为一个是numpy变量一个是tensor变量】

报错如下:
TypeError: _mean() got an unexpected keyword argument 'dim'
在这里插入图片描述
报错原因: numpy中用axis和pytorch中用dim,因为一个是numpy变量一个是tensor变量

发生错误的过程如下:
刚开始,我的代码是这样的:

此处省略若干行
input_var = torch.autograd.Variable(data.view(-1, length, data.size(2), data.size(3)),volatile=True)
rst = net(input_var).data
return i, rst.reshape((num_crop, int(args.test_segments/args.models_segments), num_class)).mean(dim=0).reshape((int(args.test_segments/args.models_segments), 1, num_class)), label[0]

这时候运行是没有问题的,因为用torch.autograd.Variable接口封装成Variable类型数据并作为模型的输入。net(input_var)得到的结果是Variable,这时候rst是tensor变量,可以用dim参数。

但是因为我要读取Tensor内容,需读取data变量,所以代码改成了:

此处省略若干行
input_var = torch.autograd.Variable(data.view(-1, length, data.size(2), data.size(3)),volatile=True)
rst = net(input_var).data
return i, rst.reshape((num_crop, int(args.test_segments/args.models_segments), num_class)).mean(axis=0).reshape((int(args.test_segments/args.models_segments), 1, num_class)), label[0]

其中,cpu()表示存储到cpu,numpy()表示Tensor转为numpy array,copy()表示拷贝
然后就
在这里插入图片描述
转成了numpy变量之后,就得用axis

解决办法: dim改成axis

附:numpy中的axis和Pytorch中的dim参数

Numpy中有许多函数都带有一个参数:axis(对应于pytorch中的dim参数),用来指定函数计算是在哪个维度上进行的。这些函数包括:mean() 、sum()等。 这里说一下axis(dim)的用法:

简单的记忆方式:
1、二维:
axis=0表示分别对每一列做运算;
axis=1表示分别对每一行做运算。
2、高维:
假设输入的形状是(m, n, k):
-如果指定axis(dim)=0, 输出的size就是(1, n, k)或者(n, k)
-如果指定axis(dim)=1, 输出的size就是(m, 1, k)或者(m, k)
-如果指定axis(dim)=2, 输出的size就是(m, n, 1)或者(m, n).
size中是否有“1”,取决于参数keepdims(或keepdim)。keepdims=True会保留维度1,通常默认是等于False。

注意:以上只是经验总结,对于绝大部分函数适用,少数函数如cumsum(累加)不符合。

此外,对于二维数组(矩阵),可以用一句话记住:axis=0表示分别对每一列做运算;如果axis=1表示分别对每一行做运算。这个tip对几乎所有场景适用(包括cumsum函数等)。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34243930/article/details/107140301

智能推荐

【持续更新,后面带JavaWeb案例】IDEA2023创建JavaWeb项目的方法以及JavaWeb实现购物车案例_idea2023社区版提供web开发吗-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏8次。哎呀我的妈妈咪呀,我来讲讲我为啥要写这篇文章。我tm之前用IDEA写Java 电脑项目习惯了,创建项目的时候就直接 新建项目,然后Java > Maven啥的,弄一大堆,然后写好页面和Servlet之后运行tomcat之后,用localhost:8080/项目名称/servlet名直接是找不到资源,搞我心态搞了现在tmb一个月,现在我总算明白了,那个初始模板可能有些插件/模块啥的自己不知道引用哪些,所以先开始总是报红,然后在web.xml里面写也tmd爆红,我真是服了!_idea2023社区版提供web开发吗

黑盒测试简介以及方法简介_一个循环条件为≤时,却错误写成<,用哪种测试方法能够找到这个错误-程序员宅基地

文章浏览阅读2w次,点赞9次,收藏49次。引言:黑盒测试是从软件的外部对软件实施测试,也常形容为闭着眼睛测试。在接下来的学习中将介绍几种常用的黑盒测试方法,其中包括等价类划分、边界值分析、决策表测试等。1. 等价类划分测试等价类划分是一种典型的黑盒测试方法,该方法完全不考虑程序的内部结构,只根据对软件的要求和说明,即需求规格说明,把程序输入域划分成若干个部分,然后从每个部分中选取少数有代表性的数据作_一个循环条件为≤时,却错误写成<,用哪种测试方法能够找到这个错误

对等复制中的冲突检测-程序员宅基地

文章浏览阅读227次。通过对等事务复制可以在拓扑中的任何节点插入、更新或删除数据并将数据更改传播到其他节点。由于可在任何节点上更改数据,因此在不同节点上进行的数据更改可能会相互冲突。如果在多个节点上修改了某一行,则将该行传播给其他节点时可能会导致冲突..._对等冲突检测错误

PHP图片推荐系统python-flask-django-nodejs-程序员宅基地

文章浏览阅读839次,点赞5次,收藏18次。由于互联网技术的快速发展,使得各部门都是以数字化、信息化、无纸化的发展趋势,随着趋势的发展,各种决策系统、辅助系统也应运而生,其中,图片推荐系统就是其中的重要组成部分。

linux执行sh脚本时提示“没有那个文件或目录”_linux系统虚拟机中输入vars.sh显示未找到文件-程序员宅基地

文章浏览阅读1.9w次,点赞2次,收藏6次。在linux上使用bash XXX.sh执行脚本时,提示“for reading(No such file or directory)”。问题原因:因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。脚本文件是DOS格式的即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.解决方法:可以有很多种办法看这个文件是DOS格式的还是U..._linux系统虚拟机中输入vars.sh显示未找到文件

一些无人机航迹规划算法-强化学习法,启发式算法_强化学习无人机航迹点-程序员宅基地

文章浏览阅读556次,点赞11次,收藏8次。7. 更新 Q 值:(, ) = (, ) + [(, ) + (′,) − (, )]step4:如果迭代次数达到地图和指南针算子的迭代上限,则停止当前迭代,转而操作地标算子,否则跳转至Step3;鸽子的位置信息和速度信息进行更新,然后比较所有鸽子的适应度,找到新的最优解;6. 在当前的状态 S 下执行动作 A,得到新的状态′和奖励(, )输入:迭代次数 T,状态集 S,学习率 α,探索率,折扣因子。_强化学习无人机航迹点

随便推点

HT合泰单片机入门教程(第一章 HT单片机环境搭建)-程序员宅基地

文章浏览阅读1.3w次,点赞21次,收藏115次。HT合泰单片机入门教程系列文章目录前言一、合泰单片机的优势二、HT-IDE3000安装1.HT-IDE3000下载2.HT-IDE3000安装总结系列文章目录# 第一章 HT单片机环境搭建目录系列文章目录前言一、合泰单片机的优势二、HT-IDE3000安装1.HT-IDE3000下载2.HT-IDE3000安装总结前言工作已经很长一段时间,虽然还是菜鸟一只。但还是有点心得体会。写合泰单片机系列教程的原因:一、是为了记录自己学习过程和学习经历(ps:当初毕业进公司接触到的第一个就是为一款已_合泰单片机入门教程

Android之如何获取手机中所有的传感器_导出智能手机中的传感器数据-程序员宅基地

文章浏览阅读7.1k次。传感器是第二代智能手机的重要标志之一。可以毫不客气地说,现在市面上的Android手机和平板电脑(TV除外)都内置了传感器。否则很多游戏和应用就无法使用了。Android SDK支持的传感器并不是每一部Android设备都支持所有的传感器。大多数Android设备只支持一部分传感器。例如,方向传感器(电子罗盘)、重力传感器(屏幕翻转、赛车游戏等)。动作(Motion)传感器环境(E_导出智能手机中的传感器数据

基于R的ggplot2包画KEGG富集通路气泡图_KEGGdot_ggplot 高低通路kegg-程序员宅基地

文章浏览阅读6.4k次,点赞2次,收藏16次。背景**基于公司已给出的结果上做出调整(公司只给出了top10),画KEGG富集通路的气泡图,初始文件如下图代码演示> getwd() #显示工作目录> setwd() #如果上述显示不是想要的路径,可以新建一个文件夹然后设置成工作目录,方便一些原始文件以及结果图片的存放> install.packages("ggplot2",destdir="D:/RData/R-win-4.0.2/R-4.0.2/R-packages",lib="D:/RData/R-win-4.0.2_ggplot 高低通路kegg

Vue.js - 学习笔记 (一)_vue innerhtml $-程序员宅基地

文章浏览阅读2.3k次。简介实际上,所有的前台程序都可以分为View以及Model两个层次,Model层使用字面量以及JS特性创建数据模型,并搭载用户数据,View层则以用户友好的方式呈现Model层数据,并提供友好的交互方式。那么如何连接View和Model这两个层次呢?如果写过J2EE程序,那么最经典的连接方式就是MVC模式了,通过控制器进行View以及Model的交互。而另一种异军突起的方式,则是MVVM了,使_vue innerhtml $

深度学习人脸识别:InsightFace-REST 全方位解析-程序员宅基地

文章浏览阅读277次,点赞4次,收藏4次。深度学习人脸识别:InsightFace-REST 全方位解析项目地址:https://gitcode.com/SthPhoenix/InsightFace-RESTInsightFace-REST 是一个基于深度学习的人脸识别 RESTful API 服务,它提供了一个简洁而强大的接口,使得开发者能够轻松地在自己的应用中集成高精度的人脸检测、识别和属性分析功能。项目概述InsightFa...

成为Java顶尖程序员 ,看这11本书就够了_有没有分析java源码的书籍-程序员宅基地

文章浏览阅读517次。转自:http://www.kuqin.com/shuoit/20160107/349896.html“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料2.对着书上的代码自己敲的时候方便“看完书之后再次提升自我的最好途径是看..._有没有分析java源码的书籍