Python
文章平均质量分 62
yanxiangtianji
这个作者很懒,什么都没留下…
展开
-
2个有用的Python命令行下可视化、调试、分析工具
loguru - 打印异常显示显示异常时的调用栈和各参数值。https://github.com/Delgan/logurupip install logurusnoop - 打印执行情况显示正在执行的代码,变量值,执行时间。https://github.com/andrewparkermorgan/snoophttps://pypi.org/project/snoop/pip install snoopheartrate - 实时显示执行情况实时显示Python程序的运行情况。s原创 2021-04-30 12:17:24 · 599 阅读 · 4 评论 -
4个非常有用的python内置数据结构(array, defaultdict, named tuple, counter)
arrayPython不仅仅可以使用内置的list实现数组,还支持像C语言那样的指定类型的原生数组array。很显然,因为list可以存储各种类型的对象,而array只存储一个指定的原生类型,所以当数据量较大时,原生array在内存占用方面要比list小。而且array不像C语言里那样在定义时就限制了大小,它支持list所支持的各种常用函数。相比之下Python的array更像是C++的vector。from array import arrayl = list(range(100))a = a原创 2021-04-28 10:32:25 · 318 阅读 · 1 评论 -
PyTorch里eval和no_grad的关系
首先这两者有着本质上区别。model.eval()是用来告知model内的各个layer采取eval模式工作。这个操作主要是应对诸如dropout和batchnorm这些在训练模式下需要采取不同操作的特殊layer。训练和测试的时候都可以开启。torch.no_grad()则是告知自动求导引擎不要进行求导操作。这个操作的意义在于加速计算、节约内存。但是由于没有gradient,也就没有办法进行backward。所以只能在测试的时候开启。所以在evaluate的时候,需要同时使用两者。model =原创 2021-02-13 08:14:19 · 1029 阅读 · 1 评论 -
修改PyTorch预训练模型的下载路径
PyTorch可以下载很多预训练好的神经网络,用起来会很方便。但是默认的下载路径是用户根目录下的.cache文件夹。在Linux和Mac下还比较符合用户习惯,但是在windows下就是C:\Users\<username>\.cache。不仅不符合很多windows用户的使用习惯而且不利于文件的保存。另外如果是多人共享的Linux服务器,每个用户都下载一遍这些训练好的神经网络明显是一种浪费。最好是放置在/var、/opt或者/usr/local等一类共享目录里。但是默认情况下,PyTorch里原创 2021-01-06 11:41:37 · 16566 阅读 · 4 评论 -
conda依赖关系可视化工具:conda-tree
conda依赖关系可视化工具:conda-tree前言原理安装依赖主体用法前言有时候由于特定的依赖关系,比如以前安装的包X要求它依赖的A包的版本必须低于2.0,会导致新的包无法正常安装或升级。比较常见的情况是当安装新包的时候,conda会选择它的一个比较旧的版本。比如最近我就遇到了pytorch被强制锁定在1.2版本上,而无法安装最新的1.4版本。经过我查看依赖关系发现,这是以为我安装的to...原创 2020-02-06 10:35:17 · 4143 阅读 · 0 评论