
python
飞天小女侠~
编程中最没用的东西是源代码,最有用的东西是算法和数据结构。
柴静在《看见》里说,每个轻松的笑容的背后,都是一个咬紧牙关的灵魂。
每个出类拔萃的人,都为他现在所站的位置付出了很多很多。
展开
-
使用QPainter画图
1.写的画图的类必须继承QWidget,才能使用画板。2.paintEvent函数需要自己写,每次初始化时,会自动执行一次paintEvent函数,之后若想再执行的话,需要使用self.update()方法,会重新执行paintEvent函数。3.重写鼠标点击,移动,释放函数:mousePressEvent、mouseMoveEvent、mouseReleaseEvent。通过重写这三个函数,获取坐标信息,进行画图。...原创 2021-09-16 16:36:32 · 414 阅读 · 0 评论 -
cv2.rectangle()画框
该函数是靠 确定对角线 来画矩形的。cv2.rectangle(img, (bbox.left, bbox.top), (bbox.right, bbox.bottom), (0,0,255), 2)cv2读入图像,然后分别输入左上角和右下角的像素坐标,(0,0,255)是设置线的颜色。原创 2021-08-17 16:19:29 · 4194 阅读 · 0 评论 -
用PyQT5封装python文件
1.下载pyqt5。自行百度。2.用qt designer.exe 通过 移动控件 编写界面。生成.ui文件3.将.ui文件生成.py文件(自行百度)4.在.py文件内编写逻辑。5.打包成exe执行程序:(1)在虚拟环境中pip install pyinstaller(2)验证pyinstaller是否安装成功pythonimport PyInsatller (不报错,则安装成功,注意PyInstaller的大小写)(3)在控制台,激活虚拟环境,进入python所在目录。原创 2021-08-13 15:39:15 · 1093 阅读 · 0 评论 -
os.path.join()
os.path.join()用于拼接路径。path1 = "E:/study"path2 = "seq"print(os.path.join(path1,path2))'''运行结果:E:/study\seq'''yun'xing原创 2021-05-28 15:34:35 · 98 阅读 · 0 评论 -
pytorch设置随机种子
SEED = 0 torch.manual_seed(SEED) torch.cuda.manual_seed(SEED)刚开始用了上面的代码,结果跑测试的时候每次每次测试结果都不一样。看博客又加了一句,改成了如下: SEED = 0 torch.manual_seed(SEED) torch.cuda.manual_seed(SEED) np.random.seed(SEED)每次跑出来的测试结果终于一样了。参考博文:https://cloud.tencen.原创 2021-05-16 17:10:28 · 858 阅读 · 0 评论 -
PyTorch中的topk函数详解
https://blog.youkuaiyun.com/qq_34914551/article/details/103738160?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242原创 2021-03-24 16:20:29 · 474 阅读 · 0 评论 -
np.concatenate()&py-MDNet/tracking/run
以下代码取自MDNetdef train(model, criterion, optimizer, pos_feats, neg_feats, maxiter, in_layer='fc4'): model.train()#启用Batch Normalization和Dropout batch_pos = opts['batch_pos']#32 batch_neg = opts['batch_neg']#96 batch_test = opts['batch_test'原创 2021-03-24 14:42:26 · 132 阅读 · 0 评论 -
cv2.getAffineTransform()和cv2.warpPerspective()仿射变换和透视变换
https://my.oschina.net/u/4312590/blog/4333564原创 2021-03-23 16:04:01 · 580 阅读 · 0 评论 -
numpy使用之np.matmul()函数。矩阵相乘
参考博文matmul与dot的差异主要在两个方面:(1)不允许乘标量(2)stack的矩阵将矩阵按元素对待被一起广播原创 2021-03-23 15:43:05 · 2480 阅读 · 0 评论 -
python中np.eye()函数的使用
numpy.eye(N,M=None, k=0, dtype=<type ‘float’>)关注第一个第三个参数就行了第一个参数:输出方阵(行数=列数)的规模,即行数或列数第三个参数:默认情况下输出的是对角线全“1”,其余全“0”的方阵,如果k为正整数,则在右上方第k条对角线全“1”其余全“0”,k为负整数则在左下方第k条对角线全“1”其余全“0”。原文链接:https://blog.youkuaiyun.com/chixujohnny/article/details/51011931>&g原创 2021-03-23 15:10:43 · 26624 阅读 · 0 评论 -
python 实现读取图片的像素值。
1.利用opencv读取。示例代码:cv2中的路径,不能有中文,否则读出的image为空。imagess = cv2.imread(r'C:\Users\Administrator\Desktop\03.jpg',-1)print(imagess.shape)print(imagess)'''(800, 601, 3)[[[254 196 174] [254 196 174] [254 196 174] ... [252 253 233] [252 253 233]原创 2021-03-22 16:36:14 · 31073 阅读 · 8 评论 -
model.train()和model.eval(),以及model.eval()和torch.no_grad()区别
参考博文1.模型实例化以后:训练时要用torch.train(),测试时要用torch.eval()2.model.train()启用Batch Normalization和Dropout。model.train()可以保证BN层能够用到每一批数据的均值和方差。对于Dropout,model.train()可以随机选取一部分网络连接来更新参数。mode.eval()不启用Batch Normalization 和Dropout测试时添加model.eval(),保证BN层能用到全部数据的均值原创 2021-03-22 15:48:10 · 403 阅读 · 0 评论 -
python代码用于筛选数组中的元素。
此代码选自MDNet中,生成正样本。samples_ = self._gen_samples(bbox, remain * factor)#产生remain*factor个正样本 idx = np.ones(len(samples_), dtype=bool)#产生一个全为1的数组。len()返回第一维的元素的个数。 if overlap_range is not None: r = overlap_原创 2021-03-22 11:30:08 · 3197 阅读 · 0 评论 -
python中np.clip()函数
clip()函数用于生成一个规定大小的随机数组,同时限制数组中数据的上下界。np.clip(a,min,max,out = None)示例:t = np.random.randn(4,5)print(t)print(np.clip(2*t,-1,1))'''输出结果为:[[ 1.09910613 -0.2808202 0.42589793 -0.12338178 -1.48311223] [-1.47979074 -2.30738852 1.63174218 0.467.原创 2021-03-20 15:20:51 · 3642 阅读 · 0 评论 -
python数组取值的一些问题
今天看MDNet中看见,samples[:, 2:] *= self.aspect ** ratio不是很明白samples[:, 2:]是如何取值的。写了几个python语句大致是明白了。逗号前面代表第一维,逗号后面代表第二维。冒号前面是起始位置,冒号后面是结束位置1.a[:,2:]a = np.array([1,2,3,4])a = np.tile(a,(5,1))print("原数组\n",a)a[:,2:] *=2#第一维全部取,第二维从下标为2的开始取,取到最后,然后让这些元素原创 2021-03-20 09:40:52 · 1172 阅读 · 0 评论 -
np.random.rand()函数
创建一个给定形状的数组,并从均匀分布中随机抽取样本填充它。print(np.random.randn(3,2))'''[[ 1.78107449 0.53914964] [-1.48672782 0.76075163] [-0.04267829 -0.38771274]]'''原创 2021-03-20 09:21:11 · 1346 阅读 · 0 评论 -
numpy.tile()函数
np.tile()函数:np.tile(a,(x,y,z))表示将数组a在行上重复x次, 在列上重复y次,在第三维度上重复a = np.array([1,2,3])print(a.shape)print(a)a = np.tile(a,(8,2))print(a.shape)print(a)'''(3,)[1 2 3](8, 6)[[1 2 3 1 2 3] [1 2 3 1 2 3] [1 2 3 1 2 3] [1 2 3 1 2 3] [1 2 3 1 2原创 2021-03-19 20:38:01 · 191 阅读 · 0 评论 -
python startswith()方法
描述:Python startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。语法:str.startswith(str, beg=0,end=len(string));参数:str -- 检测的字符串。 strbeg -- 可选参数用于设置字符串检测的起始位置。 strend -- 可选参数用于设置字符串检测的结束位置。返回值:如果检测到字符串则原创 2021-03-19 14:58:47 · 328 阅读 · 0 评论 -
nn.Squential与nn.ModuleList区别
https://blog.youkuaiyun.com/watermelon1123/article/details/89954224这篇博文写的非常好~(1)nn.Squential是有顺序的,实现了forward函数,(2)nn.ModuleList是无序的,需要实现forward函数。原创 2021-03-18 19:47:33 · 371 阅读 · 0 评论 -
【python】用 np.loadtxt() 读取txt文件
https://blog.youkuaiyun.com/qq_20135597/article/details/89193961原创 2021-03-18 15:45:04 · 1302 阅读 · 0 评论 -
python文件读写
with open(file_path)as f:with open(r'C:\Users\Administrator\Desktop\groundtruth_rect.txt') as f: data = f.readline()#一行一行的读取文件,所读为一行文字print(type(data))print(data)'''#运行结果<class 'str'>12 23 25 54'''with open(r'C:\Users\Administrator\原创 2021-03-17 20:42:26 · 74 阅读 · 0 评论 -
代码整理
1.python中开辟数组:dataset = [None]*3dataset[0] = 1dataset[1] = 2print(dataset)print(len(dataset))dataset = [None]*3#开辟一个长度为3的空数组2.enumerate函数的用法enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,3.np.empty()函数用法:创建一个以为或者多维数组。.原创 2021-03-17 20:37:46 · 421 阅读 · 0 评论