
开发语言
文章平均质量分 83
GZKPeng
深度学习有四境:调参炼丹境,理论创新陆地神仙境,张量运算剑仙境,无所不通无上剑仙境。
人若无名,便可勤奋练剑
展开
-
makefile环境不匹配导致的编译错误g++: error: unrecognized command line option ‘-fno-plt
makefile:CXXFLAGS = -I include -std=c++11 -O3 $(shell python3-config --cflags)LDFLAGS = $(shell python3-config --ldflags)DEPS = $(shell find include -xtype f)CXX_SOURCES = pse.cppLIB_SO = pse.so$(LIB_SO): $(CXX_SOURCES) $(DEPS) $(CXX) -o $@ $(CX原创 2020-09-01 16:53:56 · 5097 阅读 · 0 评论 -
python函数名中冒号和箭头的含义以及对强类型的帮助
在一些Python的工程项目中,可能会看到类似如下函数参数中的冒号,函数后面跟着的箭头:def Accumulate(num1: int, num2: int=100) -> int: sum = num1 + num2 return sum if __name__ == "__main__": print(Accumulate.__annotations__) print(Accumulate(1,2)) print(Accumulate(1))原创 2020-08-18 15:46:37 · 5971 阅读 · 0 评论 -
Pytorch 0.3 模型与重新加载持久化后同参数模型,最终表现不一致问题
最近发现了一个问题,训练好的模型,跑测试集表现很好,于是将模型参数持久化保存下来(注意,并非全部模型)。重新加载模型参数,跑测试集,发现结果差异很大,而且重新加载的模型表现非常差。 但是输出两次的模型的参数,比对发现一模一样。 持久化代码:def save_network(network, epoch_label): save_filename = 'net_%s.pth'% ...原创 2018-09-02 20:31:42 · 2820 阅读 · 0 评论 -
Pytorch报错:Assertionerror nn criterions don't compute the gradient w.r.t. targets
引发错误目前看来有两种情况: 1、应该是在损失函数中,模型输出为首个实参,ground_truth为第二个实参,写反了会出现这种情况loss = criterion(output,label) #正确loss = criterion(label,output) #错误2、第二种情况,ground_truth需要与模型的某些参数运算后得到模型需要的标签,然后引发错误:#错误写...原创 2018-08-25 15:47:09 · 1443 阅读 · 0 评论 -
关于Pytorch 0.3 nn.Module的子类,前向传播过程的问题
线上代码:class ft_net(nn.Module): def __init__(self, class_num ): super(ft_net, self).__init__() model_ft = models.resnet50(pretrained=True) # avg pooling to global poolin...原创 2018-08-20 10:33:02 · 907 阅读 · 0 评论 -
tqdm介绍及常用方法
Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator)。 使用pip就可以安装。使用方法一: tqdmtqdm(list)方法可以传入任意一种list,比如数组from tqdm import tqdmfor i in tqdm(range(1000)): #do ...原创 2018-08-16 20:17:39 · 273053 阅读 · 23 评论 -
Keras预训练模型下载后保存路径
ResNet50等keras预训练权重文件的下载:https://github.com/fchollet/deep-learning-models/releases/本地存放目录: Linux下是放在“~/.keras/models/”中 Win下则放在Python的“settings/.keras/models/”中 在anaconda on win中是:D:\Anacond...原创 2018-08-11 20:21:12 · 8384 阅读 · 3 评论 -
关于Linux、Mac下和Windows下,python的multiprocessing差异
报错: RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. This probably means that you are not usi...原创 2018-07-20 11:23:32 · 3401 阅读 · 2 评论 -
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 32: invalid continuation byte
python报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xca in position 32: invalid continuation byte 代码:h5py.File('F:\数据集\a.mat','r')原因: 路径中加入了中文,可以使用sys来设置系统编码方式来解决这个问题,或者干脆不用中文路径...原创 2018-07-06 15:07:51 · 8761 阅读 · 0 评论 -
python3.5 报错: UnicodeEncodeError:'gbk' can't encode character '\u22f1' in position 211
python3.5 的一个pytorch程序中有打印张量的语句,原先代码还可以运行,几天以后忽然报错: UnicodeEncodeError:’gbk’ can’t encode character ‘\u22f1’ in position 211:illegal multibyte sequence解决方法: win_unicode_console.enable()...原创 2018-07-03 15:12:51 · 472 阅读 · 0 评论 -
pytorch 0.4错误总结
0.4.0 发布说明错误修复:修复多进程下的内存泄漏问题 PR #5585 使用多线程版本 MKL 替代顺序版 MKL ,在 CPU 上带来10%的速度提升 PR #6416 重新添加 Compute Capability 5.0 显卡的支持 新功能:在编译中加入 MAGMA 添加 CUDA 9.1 build 提供 Wheels 包 支持新的cpp拓展 PR #5548 ...原创 2018-06-26 13:34:32 · 8598 阅读 · 2 评论 -
python中的@,以及@在tensorflow中的作用
====转载请注明出处====Python中的@:援引廖雪峰老师对装饰器的解释以及一些自己对装饰器的理解:python中在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。@是装饰器的语法。装饰器是在函数调用之上的修饰,这些修饰仅是当声明一个函数或者方法的时候,才会应用的额外调用。 我们可以用装饰器来增加计时逻辑来检测性能,或者引入日志等等。函数也是一个对象,而且函数对象可以...原创 2018-05-25 18:37:45 · 7319 阅读 · 1 评论 -
更新tensorflow后应用tensorboard报错
更新tensorflow后,出现tensorboard 不可用情况(tensorflow-cpu 1.4 ->tensorflow-gpu 1.7)尝试了更新tensorboard 仍然不可用,事故情况:运行tensorboard.exe报错并且闪退,在控制台运行tensorboard命令,报错如下:多方查证,在国内网站没找到有前车之鉴,于是发布问题到tensorflow ...原创 2019-05-07 09:05:24 · 1817 阅读 · 0 评论 -
python 打包程序
2. pip安装PyInstaller:pip install pyinstaller 3. 打包过程中可能会出现msvcp90.dll找不到的问题, 去http://cn.dll-files.com/msvcp90.dll.html下载第三个zip文件, 解压后放到C:\Windows\System32,如果是64位的还要放到C:\Windows\SysWOW64目录下。4. 再次运行报MSV...原创 2018-04-03 10:53:44 · 781 阅读 · 0 评论 -
Python 中的None以及 == 与 is 的区别,以及判断某个list或者dict元素是否为None
type(None) <class 'NoneType'> “==”是判断的a对象的值是否等于b对象的值,通过value判断 “is”是判断a对象是否是b对象,通过id来判断>>> d = {"a":1}>>> dd = d.copy()>>> d is ddFalse>>> d == ddTrue如何判断某个元素是否为None:l=['a',None,'b']for i in r原创 2017-12-20 15:30:31 · 7402 阅读 · 0 评论 -
编译OpenCV+contribute模块
Opencv3.0以后很多最新的功能或者不稳定的模块在opencv_contrib包中,这个包是需要额外安装的,它并不在标准版本里面,因为这个扩展包中的很多代码并没有通过大量的稳定性测试,但是其基本功能还是可以运行的,并且还在不断的开发和更新中。 工具:Cmake、vs2013首先需要下载Opencv源码,链接: http://opencv.org 注意,我们要下载的是没经过编译的源码,所以选原创 2017-11-06 11:11:58 · 6096 阅读 · 0 评论 -
Python的C扩展模块的编写(Anaconda+VS2013,python3.5和c++)
vs2013 调整生成配置,release和与python位数一致的平台,这里我选择x64,因为我的python是64位 创建工程->32位项目->项目类型选DLL 配置工程属性: 在.h文件中,加入#include原创 2017-10-26 10:59:43 · 1380 阅读 · 0 评论 -
Spyder使用方法
Spyder是Python(x,y)的作者为它开发的一个简单的集成开发环境。和其他的Python开发环境相比,它最大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察和修改数组的值。 Spyder的界面由许多窗格构成,用户可以根据自己的喜好调整它们的位置和大小。当多个窗格出现在一个区域时,将使用标签页的形式显示。可以看到“Editor”、“Object inspector”、“Va...原创 2017-09-21 09:06:25 · 45601 阅读 · 3 评论