- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 Windows部署运行Vue项目(webpack)及相关问题记录
一、Vue项目部署Vue项目(此文主要指使用webpack实现打包的Vue项目)部署运行主要是两个步骤,第一步是安装好项目所需要的依赖包(npm install),第二步就是运行(npm run dev)。这两步的前提是下载好Node.js。Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境。在Node.js中,包含了webpack打包所需的功能,以及npm。npm类似于Python中的pip,用于管理一些依赖包,但具体而言,其功能更为强大,不仅可以安装依
2022-01-26 00:25:18 7137
原创 【Pytorch】Expected all tensors to be on the same device, but found at least two devices
Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!大意是“预期所有张量处于相同的设备上,但是发现至少在两种设备上存在张量。”。也就是说有一些张量被放到了CPU,有一些张量被放在了GPU上,导致异常出现。建议是排查一下代码,是否在做GPU加速时,有一些张量被忘记放到GPU上了。特别是优化器(optimization)也应该处于GPU上(保持与模型在同一类设备上)。//
2021-11-10 15:35:52 10119
原创 【Pytorch】cuda runtime error (801) : operation not supported at C:\w\b\……ric/StorageSharing.cpp:245
最近在使用Pytorch对一个强化学习算法做分布式/多进程的改造,其中有一步需要将主进程训练好的新权重使用multiprocessing库的Queue对象发送给子进程。然后在打包权重送入队列时出现以下错误:cuda runtime error (801) : operation not supported at C:\w\b\windows\pytorch\torch/csrc/generic/StorageSharing.cpp:245经过网络上的一些资料搜索了解到,可能是因为欲获取权重的模型目前放
2021-10-04 21:26:49 1197 1
原创 WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.警告:pip正在被一个旧的脚本包装器调用。 这将在pip的未来版本中失败。/////////////该问题出现于我在Ubuntu系统下使用如下命令安装了一个新版本的pip后,使用原先的pip3进行一些操作出现的提问。python3 -m pip install --upgrade pip使用如下命令卸
2021-08-15 01:26:48 11623 6
原创 Windows环境下Pytorch由Datalodaer设置num_workers大于1导致的异常错误及解决方式&重复运行
1.问题分析torch.utils.data.DataLoader(image_datasets[x], batch_size=batch_size, shuffle=True, num_workers=NUM_WORKERS, pin_memory=True)在Pytorch中
2021-07-27 16:49:13 8600 3
转载 深度学习PyTorch、TensorFlow中GPU利用率与内存占用率很低的问题
上周,在一个使用Pytorch搭建的目标训练项目中,训练时,通过使用命令行执行NVIDIA-SMI(仅支持英伟达显卡)命令发现GPU的利用率基本一直停留在0%,并且显存占用率也较低。CSDN上有一篇分析比较好的博文,我将其中与GPU相关的分析摘抄如下:1. GPU内存占用率问题这往往是由于模型的大小以及batch size的大小,来影响这个指标。当你发下你的GPU占用率很小的时候,比如40%,70%,等等。此时,如果你的网络结构已经固定,此时只需要改变batch size的大小,就可以尽量利用完整个GP
2021-07-27 15:45:44 5929
原创 Pytorch训练提示错误:“页面文件太小,无法完成操作”
在上周的一个Pytorch目标检测项目的训练过程中遇到了这个问题,经过排查,该提示所指“页面文件太小”是指系统虚拟内存所设置的页面大小过小,无法支持项目训练时所需内存。解决办法有两种:1.降低Batch_Size大小:过大的Batch_Size(人工智能术语:指一次迭代过程送入的数据集样本量)显然需要更多的内存支持,出现“页面文件太小”,可尝试降低Batch_Size大小。2.调整虚拟内存可用硬盘空间大小:虚拟内存的本质是在本地硬盘开辟一个空间用于存放哪些暂时不需要进行计算操作的内存数据,类似一个“
2021-07-27 15:16:02 52369 9
原创 Python导出当前环境依赖包及项目依赖包
Python导出当前环境依赖包信息:命令行输入:pip freeze > ./requirements.txt 则会在当前命令行目录下生成一个requirements.txt文件,内容为当前环境所有依赖包及对应版本。同时也可以修改 ./requirements.txt 为其他指定路径, 这样依赖包信息会生成到指定的目录下。Python导出项目依赖包信息:首选, 使用pip运行如下命令,安装pipreqs包pip install pipreqs然后, 命令行进入欲生成依赖包信息的项
2021-07-22 17:32:41 11230
原创 数据集标注工具Labelimg无法支持JPG格式图片的解决办法
Labelimg(GItHub:https://github.com/tzutalin/labelImg/)是一款用于标注图像数据集的工具,其可视化界面由Qt框架支持。虽然在作者相关项目的主页上提到了需要Qt5的支持,但并未给出Qt具体版本的要求。前些日子,实验室需要标注一匹图片数据集,有一个小伙伴发现自己的Labelimg部署完成后无法正常打开图片,仔细观察后发现在其打开单个图片时,显示支持的格式里面没有JPG格式。这与在我自己的电脑上部署的Labelimg是完全不一样的。经过排查后,发现是Qt版本存
2021-07-05 11:26:50 5195
原创 【待更新】深度学习中,网络、模型、算法有什么区别?
最近开始接触一些计算机视觉比较理论方面的知识学习,有一些概念感觉很混乱。网络、模型、算法有什么区别?暂时没有查阅到比较有说服力的相关知识,可能是因为目前大家并不会过多的去区分这三个概念,所以也没有太多资料以供参考。本人以目前粗浅的知识总结如下。网络: 一种简单的网络结构,不包含任何权重参数。模型: 设计一个网络后,在某些数据集上进行训练,得到一个包含权重参数的数据,称为模型。算法: 在模型的基础上通过一些代码具体实现某些相关目的,这些代码以及模型文件等等资源被称为某算法。以上只是本人粗浅的认识,
2021-06-23 00:58:19 4793 1
原创 Python为什么会有命名关键字参数?
Python形式参数类别:def funcname(【限定位置形参】, /, 【普通形参】, 【特殊形参*args】, 【限定关键字形参】, 【特殊形参**kwargs】): passPython提供了非常丰富的形式参数定义选择,大致分为以上五种。其中限定关键字形参又称为命名关键字参数。命名关键字参数是一类比较特殊的形参类别,实际上他看起来只是关键字形参(普通形参的一种功能)强制显式表示关键字罢了。从功能上而言,这类参数应该并不是必须的,因为仅用普通形参替代他,我们也可实现任何函数功能。那么
2021-06-20 23:35:24 309
原创 关于尾递归优化
众所周知,函数调用例如A调用B,由于B执行结束后需要继续执行A,因此我们得把A在调用B时所处地址或者其他上下文信息进行保存。最常见的就是将地址保存在栈中。若存在A->B->C,则此时栈内容依次存放函数A、B、C执行的信息。由于一个进程用于保存函数信息的栈容量有限,若类似的调用过多,则会导致栈溢出。通常来说,正常的函数调用,其关系链并不会过长,因此通常不会出现这个问题。但对于递归函数这种情况,递归次数取决于问题规模,则很容易出现这个问题。为了解决这个问题,聪明的程序员们提出了尾递归优化,在廖
2021-06-20 21:26:08 274
原创 简单理解Python中bytes和str区别
学习Python之后,会知道Python中存在两种数据类型,一种是bytes,一种是str。二者都可以用来存储字符串,虽然传统意义上str才是字符串,而bytes则是字节流。但是当二者进行存储时(不论是内存还是写出到文件)实际上都是使用二进制进行存储。那么二者在用于存储字符串时,有什么区别呢?《浅析Python中bytes和str区别》文章中提到“使用bytes类型,实质上是告诉Python,不需要它帮你自动地完成编码和解码的工作,而是用户自己手动进行,并指定编码格式。”这句话是十分关键的,其意义是在使
2021-06-18 17:17:10 526
原创 PyPy为什么比CPython更快?什么是JIT技术?
1.问题引出今天在看廖雪峰老师的Python教程中,关于“Python解释器”一节提到了“PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释)”。于是想起了早先学语言时,老师提到了编译分为“静态编译”与“动态编译”,为什么这里强调不是“解释”?网上查了一下,CPython这种传统的解释器并不会将Python代码在执行时编译为机器码,而是转换为中间码,再由解释器执行对应的动作,也就是不涉及编译,自然就是“解释”(以前我以为解释器会把代码编译成机器码……)。那么动态编译是什么?想着便去查了
2021-06-17 15:36:19 752
原创 【随笔】关于Qt中的Ui::Widget与Widget
最近在学习Qt的使用。今天遇到了一个比较有意思的问题。大致情况是所学习的教程Demo中,有四个Slider组件,用于实现修改一个编辑框的背景颜色。实际上这个四个组件对应的槽,其代码是完全一致的。于是想将其封装成一个函数 ,节省代码量。之后便将这个封装的函数放到Main.cpp中,其函数原型为:void refreshColor(Ui::Widget *ui);其中的Ui::Widget *ui用于接受来自Widget类中的ui指针。但编译执行时,有趣的情况出现了,程序报错了。大致错误为:F:
2021-05-06 18:35:36 4261
原创 LeetCode 59. 螺旋矩阵 II [水题+简单模拟]
前言:最近要准备硕士研究生入学复试,还要机试,所以又开始刷一些题了。太久没刷题了,本来就菜,现在变得更菜了……题面:吐槽:题目来自LeetCode,难度标识为“中等”,有点无语。LeetCode的难度分级真的有点奇奇怪怪,这种模拟题感觉应该分到“简单”一类去。题面很简单,就是接受一个整数型参数n,且1 <= n <= 20,输出一个nXn的整数型矩阵。要求该矩阵元素值从1-n^2,并按顺时针排序。example输入:3输出:1 2 38 9 47 6 5当然,实际
2021-03-09 00:07:37 246 1
原创 UVA804 - Petri Net Simulation
问题:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=10&page=show_problem&problem=745前言:原文题面比较坑?或者说有点看不懂。所以接下来我的解释主要是我自己经过理解之后的一个意译。《算法竞赛入门经典》这本书的177页有比较贴近原...
2020-03-06 23:45:44 233
原创 UVA210 - Concurrency Simulator
前言:最近因为需要准备复试上机,所以又重新开始练一些算法题。虽然之前没有记录解题思路或者代码的习惯,但是最近可能会经常发一些这类的文章。题解:这题主要是简单模拟,注意细节即可。/* 问题:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&prob...
2020-03-04 23:28:20 219
原创 [CSP17 2019]第十七次CSP认证 回忆与反思
总体感觉,CSP17的五道题整体都比往届简单许多。但由于自己过于贪心,导致第四题没有做好提交上,真是让人追悔莫及。
2019-09-15 20:16:58 2372 6
原创 基于肤色二值化图像的手势识别及指尖检测的方法改良优化
最近两三天在学习Opencv相关的计算机视觉知识,为了做项目的手势识别交互,在网上看了许多相关资料。想把一些学习心得分享给有需要的人,如果有更好的方法欢迎探讨交流。
2019-04-02 16:56:01 3471
基于肤色二值化图像的手势识别及指尖检测的方法改良优化(完整代码 VS2013+Opencv3.1.0)
2019-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人