深度学习
文章平均质量分 80
海棠花不香
这个作者很懒,什么都没留下…
展开
-
windows编译TensorFlowServing
的某些源码文件时会遇到耗时特别长的问题,目前还不清楚是什么问题导致。表示将所有依赖的外部库源码下载到这个目录,且编译中生成的中间文件,缓存文件,静态库以及二进制文件均存放此目录。下的编译流程,配置环境,执行编译命令,根据编译器/链接器反馈的错误,修改相应的源码或者相关库文件的存放路径,编译出。该操作可让编译继续进行,但可能会导致调试信息缺失的问题,请谨慎操作。如遇到下载不成功,重复执行即可。选项,指定目录存放所有下载的源码文件,也可参考下一节中的。,这里采用64位的编译工具编译,解决虚拟内存不足的问题。原创 2024-01-17 19:02:55 · 1218 阅读 · 0 评论 -
RuntimeError mat1 and mat2 shapes cannot be multiplied
1,dataloader中需要设置参数drop_last=True。即丢弃最后一个不足batchSize的样本。根据提示,全连接层两个需要相乘的矩阵维度不匹配,代码中batchSize为8,最后的类别数量为4。,样本总数不是批次的倍数,有余数,因此,最后一个批次的样本会产生该问题。,reshape时使用样本的数量。原创 2023-03-24 21:46:55 · 3384 阅读 · 0 评论 -
卷积神经网络中的Conv层和BN层融合细节
输入数据的,BN 就是为了解决小批次输入数据的分布偏移而提出的,因此训练时需要BN层。而训练后的推理,是单样本输入,训练时 BN 的参数已经确定,这些参数相当于对前一层的特征图数据做一次线性变换,而卷积层也可以转化为对特征图的线性变换。因为将输入的样本数据或特征图,归一化后,改善了输入数据的分布,或者说。在训练时,卷积层和 BN 是两个模块,但是为什么训练时不能融合,而训练完成后,仅执行前向推理却可以融合?一张图可以解释,改善输入数据的分布,可以更容易找到模型参数w和b,从而加速模型收敛。原创 2023-01-29 17:43:55 · 2411 阅读 · 0 评论 -
pytorch中的模型剪枝
自定义剪枝可以自定义一个子类,用来实现具体的剪枝逻辑,比如对权重矩阵进行间隔性的剪枝在剪枝前查看网络结构采用自定义剪枝的方式对局部模块fc3进行剪枝输出结果最后的剪枝效果与实现的逻辑一致。原创 2023-01-08 20:24:12 · 3216 阅读 · 0 评论 -
tensorflow2.x多层感知机模型参数量和计算量的统计
采用graphviz和pydot模块,绘制网络模型结构采用keras_flops模块统计模型的计算量使用model.summary接口统计模型参数量使用psutil模块统计模型运行时的资源消耗情况参考文档python实现监控指定进程的cpu和内存使用率Python常用库之psutil使用指南如何计算 LSTM 的参数量tf.keras计算FLOPs。原创 2022-12-29 11:47:23 · 1315 阅读 · 0 评论 -
windows上编译安装pytorch的c++扩展
需要在python的安装目录D:\Python36WindowsTensorflow\Python36\Lib\distutils\disutils.cfg中作如下改变(如果没有这个文件,自行创建即可)推测原因为,由于python和pytorch都是有msvc编译的出的静态库.lib和动态库.dll,如果采用g++链接,会由于不同编译器上对函数的编码规则,而无法找到相关的引用。在使用vs2015的编译工具cl.exe,由于对c++14中常量表达式的支持不好,会遇到很多错误。原创 2022-10-31 09:44:29 · 816 阅读 · 0 评论