- 博客(104)
- 收藏
- 关注
原创 Pipenv:一个Python的包管理工具,用于创建一个python的虚拟环境
以上是使用Pipenv的基本步骤。除此之外,Pipenv还提供了其他有用的命令,例如pipenv uninstall用于卸载依赖项,pipenv lock用于生成依赖项锁定文件等。可以通过运行pipenv --help来查看所有可用的命令和选项。Pipenv是一个Python的包管理工具,它提供了一种简单的方式来管理Python项目的依赖关系。这将自动将requests库添加到Pipfile文件中。这将激活虚拟环境,并使项目的依赖项在命令行中可用。这将运行项目并在控制台中显示输出。
2023-09-25 23:21:19 207
原创 ARMv8体系结构中,提供16KB和64KB的页面大小可以有助于降低TLB(Translation Lookaside Buffer)的未命中率
ARMv8体系结构中,提供16KB和64KB的页面大小可以有助于降低TLB(Translation Lookaside Buffer)的未命中率
2023-07-21 22:54:05 207
原创 学习之笔记
Hook技术被广泛应用于安全的多个领域,比如杀毒软件的主动防御功能,涉及到对一些敏感API的监控,就需要对这些API进行Hook;窃取密码的木马病毒,为了接收键盘的输入,需要Hook键盘消息;接下来,我们就来学习Hook技术的原理。下图很简单易懂地诠释了Hook的机制,在notepad.exe和kernel32.dll之间挂上一个“钩子”,把它们要使用的CreateFile()函数替换掉,换成MyCreateFile()函数,实现我们想要的自定义功能。...
2022-08-10 19:48:45 124 1
原创 深度神经网络未来发展预测
以数据为中心1、从大数据转向优质数据;2、保持神经网络不变,转向寻找改进数据的方法。能够检测出大数据的标注错误的工具需要开发出来,以改善数据的一致性。能够将注意力定位到分类错误的一类,然后详细分析,调整该类数据,而不是为了该类数据而去改进模型。3、合成数据不仅仅用来增加整个数据集的量,而且可以只针对表现不佳的类别进行数据的合成,更有针对性的解决问题。希望看到使用合成的数据成为迭代模型开发闭环的一部分。...
2022-04-05 15:39:21 3376 5
原创 论文绘图小结
论文绘图小结:(持续更新)设定图的大小,并且解决因图片狭长导致纵横坐标label无法完全显示的问题。import numpy as np import matplotlib.pyplot as plt Y=np.array([1.1,0.98,1.05])X=np.array(list(range(1,len(Y)+1)))# plt.style.use('classic')# plt.plot(Y,'b',linewidth=1.5,label='Reliable acceleratio
2022-03-02 08:55:08 350
原创 论文写作技巧总结
文章分节abstract,introduction,related works,approaches,experiments,applications(optional) ,conclusionRelated Works该模块的设计非常好的体现了这个宗旨——你不说别人做了啥,我咋知道你做了啥?因此,最明显的体现便是Related Works。而其正确的写作思路应当是别人做了啥,有啥问题,我们和他这方面不一样,正好解决了这样的问题。相当一部分写作者,只写别人干了啥,没写我和他哪里不一样,这种
2022-02-02 18:09:09 2338 1
原创 如何成为一名优秀的软件工程师
1、把复杂问题差分,逐步解决,极客精神:优化,重构代码,不断更新代码,追求完美的极客精神,追求完美,否则就会成为代码的奴隶。因为随着时间的推移,代码的问题就会暴露出来,就需要不断的花时间去改代码。最终成为代码的奴隶。2、良好的习惯专注可用性,把用户放在心中;善用现代代码:不要重复造轮子,除非轮子不可用代码的可维护性:代码命名的可解释性编写测试3、持续学习扎实的软件基础;数据结构和算法是基础中的基础;不沉迷于一种语言和构建语言的新方法编写语言远远没有相应的函数库重要,要学习新语言新函数库
2022-01-31 12:20:16 2585 1
原创 指针表值识别(传统算法)
指针表值识别(传统算法)算法流程:1、定制模板2、 使用模板和源图片进行匹配3、 选取源图片中的最佳匹配区域4、 对匹配区域使用K-means二值化5、删除二值化图中的无用边缘区域6、 根据模板选定指针的旋转中心7、 拟合指针角度8、 映射到真实指针值选取模板图:现场使用手机采集的源图片:获取源图片中的最佳匹配区域(表识别):考虑模板的大小和现场中实际采集的图片中的表大小不同,所以这里对模板表的大小在一定范围内进行缩放,使得匹配更加准确:对匹配的区域进行K-means二值化
2022-01-10 22:37:35 3098 3
原创 Started GNOME Display Manager. Dispatcher Service... system changes.pp link was shut down
Ubuntu 启动的时候,出现 ‘[OK] Started GNOME Display Manager. Dispatcher Service… system changes.pp link was shut down’,卡着不动解决办法:ctrl+Alt+F3(或者ctrl+Alt+F1这里的F*都是试一下F2,F4,…)进入tty3:(进入终端)输入: sudo apt update sudo apt dist-upgrade把我的Ubuntu18.04升级到了Ubuntu20.04,但是
2022-01-06 00:09:47 3446
原创 ImportError: DLL load failed: 找不到指定的模块
关于:File "D:\soft\anaconda3\lib\imp.py", line 242, in load_module return load_dynamic(name, filename, file) File "D:\soft\anaconda3\lib\imp.py", line 342, in load_dynamic return _load(spec)ImportError: DLL load failed: 找不到指定的模块。解决办法:严格遵守pyt
2022-01-05 08:50:30 848
原创 避免将list转化为torch.tensor,考虑np.array转化为torch.tensor
在python中,实验发现,当数据量较大时,将列表数据转化为torch.tensor类型,需要耗费大量的时间。不如先将列表数据转化为np.array,然后将np.array转化为torch.tensor!
2021-11-19 13:20:30 993
原创 linux如何在指定的python环境下安装包
在linux中,进入anaconda的虚拟环境之后,使用pip并不一定会安装在当前环境下(和windows不太一样),而是安装在该pip对应的python版本里,pip对应的版本可以使用pip -V进行查看。如何准确无误地将包安装在想要安装地python环境下:方法一:找到该python环境对应地pip位置,一般是xxx/bin/pip,然后使用xxx/bin/pip install 包,或者将该指令软连接到pip,这样再使用pip install 包,就可以了。方法二:找到该python环境地位
2021-11-03 11:10:21 4141
原创 python实现客户端接收服务端发送的数据 UDP实现
** 服务端代码:server_UDP.py **import socketimport timeaddress = ('127.10.0.1', 31500) # 服务端地址和端口s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建sockets.bind(address) # 绑定服务端地址和端口count=0useraddr = ('127.4.3.100', 8888) # 客户端的地址和端口,后面将发送数据到该地
2021-10-12 17:07:04 1766
原创 ModuleNotFoundError: No module named ‘open3d‘
conda install -c open3d-admin -c conda-forge open3d
2021-08-10 23:30:26 11557 6
原创 Linux中将指定文件夹添加到环境变量中
$PATH 是shell的一个环境变量,shell将首先在该变量值的文件夹下寻找你执行的命令或程序。export命令可以用来将自定义变量转换为环境变量(可以新增,修改和删除环境变量),因此使用命令:export PATH=\$PATH:/sbin意思是将/sbin文件夹添加到PATH中。在类UNIX系统中,环境变量以冒号分隔,因此该命令的含义即为在原来的环境变量$PATH后添加文件夹/sbin。然而,export命令的作用仅限在该次shell进程。如何使得每次shell进程呢?在登录shell时
2021-08-09 15:38:39 4050
原创 linux下安装cmake
自https://cmake.org/download/下载cmake源码,如cmake-3.21.1.tar.gz1、解压cmake源码,在cmake源码所在文件夹中打开命令终端,解压文件:tar -zxv -f cmake-3.17.1.tar.gz2、进入解压后的cmake文件,执行:./bootstrap使用以下指令更新g++来解决:sudo apt-get install g++使用以下指令解决缺库问题:sudo apt-get install libssl-dev然后重新运行
2021-08-09 14:20:40 1519
原创 sudo apt --fix-broken install
这个命令出来的时候一般是使用dpkg安装软件出现依赖或者源找不到的情况,会提示使用这个命令来解决依赖,删除半安装的软件,因为不使用这个软件使用 apt update或者apt upgrade将不能成功。
2021-08-09 14:13:38 936
原创 回调函数ros::spin()与ros::spinOnce()
ros::spin()的理解在程序到达ros::spin()之前按照一系列规则,设定一系列话题订阅者。这些订阅者就开始嗷嗷待哺,等待话题进来,但这时候订阅者的嘴还没有打开。然后就到ros::spin(),这可以理解为一个动作,打开订阅者的嘴。这样订阅者们可以开始接受话题,最重要的是进入回调函数!当然,最开始的时候,没有话题进来,spin()是堵塞在这里的。一旦有话题进来,一系列订阅、回调、发布等等动作在spin()这里不断在进行,只要有合适的话题,相应的订阅者就订阅,然后直接进行回调。...
2021-07-30 13:33:59 301
原创 C++中的try、catch
在c++中,可以直接抛出异常之后自己进行捕捉处理,如:(这样就可以在任何自己得到不想要的结果的时候进行中断,比如在进行数据库事务操作的时候,如果某一个语句返回SQL_ERROR则直接抛出异常,在catch块中进行事务回滚)#include <iostream> #include <exception> using namespace std; int main () { try { throw 1; thr
2021-07-30 11:11:32 492
原创 C++中的模板和<>
模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。您可以使用模板来定义函数和类,接下来让我们一起来看看如何使用。模板函数定义的一般形式如下所示:template <typename type> ret-type func-name(paramete
2021-07-30 10:54:11 171
原创 C++中的static
static作用:1、修饰函数的局部变量:特点:有默认值0,只执行一次,运行一开始就开辟了内存,内存放在全局2、修饰全局函数和全局变量:特点:只能在本源文件使用3、修饰类里面的成员变量:特点:和1差不多,定义多个static y,但只有一个y,不进入类的大小计算,不依赖于类对象的存在而存在(可直接调用,要进行外置声明)4、修饰类的成员函数:特点:f():括号里无this指针,只能调用他的本类静态函数和他的静态变量,即使用static修饰过的不依赖于类对象的存在而存在(可不进行外置声明,直接调
2021-07-30 10:19:25 60
原创 ros的初始化和关闭
初始化选项ros::init_options::NoSigintHandler不安装 SIGINT 句柄.这种情况下你需要自己安装SIGINT句柄来保证节点在退出时候会正确的关闭 . SIGINT的默认操作是终结一个进程,所以如果你想自己处理 SIGTERM 你需要使用上面的选项.ros::init_options::AnonymousName匿名节点名称,增加一个随机数在节点名的后面,使得节点名唯一。ros::init_options::NoRosout不向/rosout 话题广播 rosco
2021-07-30 10:10:00 1428
原创 C++中的条件变量
在C++11中,我们可以使用条件变量(condition_variable)实现多个线程间的同步操作;当条件不满足时,相关线程被一直阻塞,直到某种条件出现,这些线程才会被唤醒。主要成员函数如下:参考:https://www.cnblogs.com/xiaohaigegede/p/14008121.html...
2021-07-30 09:52:39 210
原创 C++中的std::mutex
使用std::mutex创建互斥量,通过调用成员函数lock()进行上锁,unlock()进行解锁。但不方便的是需要记住锁后要在函数出口再次调用unlock()解锁.因此可以用std::lock_guard,其会在构造的时候提供已锁的互斥量,并在析构的时候进行解锁,从而保证自动管理。...
2021-07-30 09:42:57 148
原创 C++中的inline函数
inline函数我们看下面的函数,函数体中只有一行语句:double Average(double total, int number){ return total/number; } 定义这么简单的函数有必要吗?实际上,它还是有一些优点的:第一,它使程序更可读;第二,它使这段代码可以重复使用。但是,它也有缺点:当它被频繁地调用的时候,由于调用函数的开销,会对应用程序的性能(时间+空间效率,这儿特指时间)有损失。例如,Average在一个循环语句中重复调用几千次,会降低程序的执行效率
2021-07-30 09:25:07 107
原创 C++中命令空间的嵌套
C++中命令空间的嵌套:namespace A { int a = 2; namespace B { int a = 3; }}void test(){ cout<<"A中的a = "<<A::a<<endl; cout<<"B中的a = "<<A::B::a<<endl; }
2021-07-30 08:52:10 104
原创 深度学习那些你需要知道的事情
1、机器学习训练时,Mini-Batch 的大小优选为2个的幂,如 256 或 512。它背后的原因是什么? Answer:Mini-Batch 设为 2 的 幂,是为了符合 CPU、GPU 的内存要求,利于并行化处理。
2021-06-24 15:24:14 347 1
原创 nvidia-smi系列命令
#帮助nvidia-smi -h#持续监控gpu状态 (-lms 可实现毫秒级监控)nvidia-smi -l 3 #每三秒刷新一次状态,持续监控#列出所有GPU,大写Lnvidia-smi -L#查询所有信息nvidia-smi -q#查询特定卡的信息,0.1.2.为GPU编号nvidia-smi -i 0#显示特定的信息 MEMORY, UTILIZATION, ECC, TEMPERA-TURE, POWER, CLOCK, COMPUTE, PIDS, PERFORMANC
2021-06-24 10:21:16 1810
原创 pytorch搭建的网络中对各层定义的索引及更改
resnet50的model对各层的定义结构如下:ResNet( (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) (relu): ReLU(inplace=True) (maxpool): Max
2021-06-22 22:53:07 708 2
原创 python中类的self的含义
import torch # 省略部分代码#----------------------网络模型,预测部分-----------------------------------#class Net1: def __init__(self,input_test): self.inputn_test = scaler1.transform(input_test) self.inputn_test = torch.Tensor(self.inputn_test)
2021-06-09 10:31:42 1305 2
原创 Python/C/C++/Linux/DL/ML汇总
文章汇总:PythonAnaconda初步了解python调用百度API接口python保存函数并加载函数or类pyqtgraph的使用文档和代码示例python的多线程和定时器sys.path.append()、os.path.exists()、os.path.join()以及os.makedirs()含义python中的argparse.ArgumentParser.add_argument()中的参数requiredpython中的argparse —— 命令行选项、参数pytho
2021-06-08 22:16:32 179 1
原创 python调用百度API接口,使用json解析出错“json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) ”
代码如下:输入地址,返回经纬度import json from urllib.request import urlopen, quote def getlnglat(address): ak = 'xxxxxxxxxxx' # 浏览器端密钥,自己申请ak address = quote(address) # 由于本文地址变量为中文,为防止乱码,先用quote进行编码 url = 'http://api.map.baidu.com/geocoding/v3/?address=
2021-05-13 18:31:21 1063 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人