python
文章平均质量分 62
yangdeshun888
本人QQ:2891720537,欢迎添加咨询问题。
展开
-
python读取docx文件,并进行一些操作
其中一定要docx文件,如果是doc文件进行改后缀成docx是会有问题的,导致读取的文件一直是空的,需要原生态就是使用docx创建的文件。其是读取某个目录下的所有docx文件,去除中文后,然后进行保存到源文件。原创 2022-09-20 10:09:21 · 3286 阅读 · 1 评论 -
通过pycharm创建django工程
1、安装django直接使用pip进行安装Django包:Django2.2.7、django-extensions2.2.5、django-log-request-id1.4.0、django-redis4.10.0。2、使用pycharm进行创建django工程:创建django的步骤如下:创建完后的工程如下:其中每个app都作为一个基本功能模块,如果有新的功能模块,则可以添加新的app,这样子有利于代码的更好管理,其中添加新的app的方式如下,参考Django在创建一个app:原创 2021-03-04 16:51:44 · 425 阅读 · 1 评论 -
re模块的主要使用
re模块解释re模块对应字符解析具有很强的功能,我们常用的功能大概有:match、search、split。其中split的可以理解为,先进行search后进行对查找到的字符进行分割。使用不同正则方式可以获取不一样的结果,例如[]、()符合进行包含正则时其结果时不太一样的。split常用的方式介绍:使用非数字进行分割:其中^是取反的意思#1.以非数字进行分割s = '11,22:33;44-55&&66'res = re.split("[^0-9]+",s)pri原创 2020-11-19 14:07:14 · 239 阅读 · 0 评论 -
OpenCV中如何提取不规则ROI区域, 手眼标定hand_eye_calibration
opencv提取ROI区域:在做这个之前,首先来了解一下什么图像处理中的mask(遮罩),OpenCV中是如此定义Mask的:八位单通道的Mat对象,每个像素点值为零或者非零区域。当Mask对象添加到图像区上时,只有非零的区域是可见,Mask中所有像素值为零与图像重叠的区域就会不可见,也就是说Mask区域的形状与大小直接决定了你看到最终图像的大小与形状。一个具体的示例如下:可以看出,mas...原创 2020-02-02 16:08:04 · 3212 阅读 · 0 评论 -
Pytorch 使用不同版本的 cuda,跟使用不同版本的cuda进行编译扩展库,其实TensorFlow也是一样,编译Dcn v2例子。升级GCC
使用pytorch时我们可能需要对其进行扩展一些功能,例如近随机卷积的DcnV2。此时我们则需要选择适合的cuda版本进行安装并进行编译扩展。由于我们电脑上可能已经安装过多个cuda版本,此时我们可以根据通过设置环境变量进行随意切换使用的cuda版本。如下安装多个版本的的电脑为什么安装了pytorch如果编译扩展库需要再安装cuda库。不管我们通过什么进行安装pytorch等深度框架的时候...原创 2020-01-05 12:41:34 · 1146 阅读 · 0 评论 -
Python清空文件并替换内容、json的loads跟dumps使用注意点
有个文本文件,需要替换里面的一个词,用python来完成,我是这样写的:def modify_text(): with open('test.txt', "r+") as f: read_data = f.read() f.truncate() #清空文件 f.write(read_data.replace('apple', 'and...原创 2019-12-28 11:08:08 · 3094 阅读 · 1 评论 -
python多线程代码运行速度更慢-原因解析
写出了正确的多线程代码,运行速度反而比单线程慢很多,原来是由于GIL(Global Interpreter Lock)!GIL 是Cpython(Python语言的主流解释器)特有的全局解释器锁(其他解释器因为有自己的线程调度机制,所以没有GIL机制),GIL锁定Python线程中的CPU执行资源。线程在执行代码时,必须先获得这把锁,才获得CPU执行代码指令。如果这把锁被其他线程占用,该线...原创 2019-12-27 17:35:16 · 5767 阅读 · 0 评论 -
pycharm的python包opencv(cv2)无代码提示问题的解决
参考链接:pycharm的python包opencv(cv2)无代码提示问题的解决转载 2019-12-21 11:41:01 · 618 阅读 · 0 评论 -
weakref弱引用的作用
1、weakref弱引用的作用: 对对象的弱引用不能保证对象存活:当对像的引用只剩弱引用时,garbage collection可以销毁引用并将其内存重用于其他内容。但是,在实际销毁对象之前,即使没有强引用,弱引用也一直能返回该对象。弱引用的主要用途是实现保存大对象的高速缓存或映射,但又并希望大对象仅仅因为它出现在高速缓存或映射中而保持存活。 使用场景:现在有一个Pro...原创 2019-12-17 17:26:47 · 699 阅读 · 0 评论 -
python项目生成requirements.txt的工程依赖环境的方法
生成requiresments.txt的方法有两种方式:第一种:pip freeze > requirement.txt其中freeze参数是指输出当前环境中安装的依赖包。其中【>】指的是把输出的信息输入到requirement.txt文件里。特点:会把当前环境中安装的所有依赖包都输出来,即使有些文件是当前工程没依赖的包。这会造成环境的臃肿。当前环境的所有依赖包为...原创 2019-12-10 16:49:40 · 1210 阅读 · 0 评论 -
Centernet在windows上的编译方法
环境: win10 vs2017 pytorch1.1 cuda10完整工程centernet_window完整工程下载地址:CenterNet-windows1、编译DCN库:由于CenterNet使用了可变卷积网络,而在pytorch上并没有集成,所以使用前要先进行Dcn的编译。a、准备跟pytorch1.0对应版本的DCNv2:pytorch1.0现在已经不支持DCNv1...原创 2019-11-21 11:24:26 · 3610 阅读 · 20 评论 -
PyTorch中在反向传播前为什么要手动将梯度清零?
PyTorch中在反向传播前为什么要手动将梯度清零?这种模式可以让梯度玩出更多花样,比如说梯度累加(gradient accumulation)传统的训练函数,一个batch是这么训练的:for i,(images,target) in enumerate(train_loader): # 1. input output images = images.cuda(...原创 2019-11-19 23:13:28 · 1253 阅读 · 2 评论 -
Pytorch 使用不同版本的 cuda,跟使用不同版本的cuda进行编译扩展库,其实TensorFlow也是一样
在使用 Pytorch 时,由于 Pytorch 和 cuda 版本的更新,可能出现程序运行时需要特定版本的 cuda 进行运行环境支持的情况,如使用特定版本的 cuda 编译 CUDAExtension 引入的拓展模块等。为了满足应用程序和框架本身对不同版本的 cuda 的需求,Pytorch 需要能够在不同版本的 cuda 之间切换使用。这里即记录 Pytorch 在编辑 cpp 和 cud...原创 2019-11-19 09:46:33 · 1365 阅读 · 0 评论 -
深度模型不work?这有一份超全的Debug检查清单
本文来自52CV群友Qiao-Mu Ren的读书笔记。原载于知乎:https://zhuanlan.zhihu.com/p/89566632为什么需要讨论DL Troubleshooting?80%-90%时间用于debug和tune,10%-20%时间用于推导数学或者实现。模型为什么会表现糟糕? 实现时的bug,很多深度学习bug不可见,比如模型label顺序错误 ...转载 2019-11-03 11:30:14 · 321 阅读 · 1 评论 -
python实现简单爬虫功能
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。 我们可以通过python 来实现这样一个简单的转载 2017-09-20 14:06:34 · 375 阅读 · 0 评论 -
一款真正可以用于爬百度图片的爬虫python代码,自己改进的!!
我用的pycharm,有三种注释方式: 1.用 一对""" 括起来要注释的代码块。 2.用一对'''括起来要注释的代码块。 3.选中要注释的代码,按下ctrl+/注释。#coding: utf-8import osimport reimport urllibimport urllib2import itertools #迭代器原创 2017-09-20 15:44:47 · 758 阅读 · 0 评论 -
python打开网络图片并缩放
[python] view plain copy# -*- coding:utf-8 -*- ''''' tk_image_view_url_io_resize.py display an image from a URL using Tkinter, PIL and data_stream also resize the web image to f转载 2017-06-16 10:15:08 · 2999 阅读 · 0 评论 -
python基础知识,查看某个安装包的版本信息
1、查看某个安装包的版本信息指令:python -m django --version如果是查看其它版本的信息则改为其它包即可。1、printPython之print语句print语句可以向屏幕上输出指定的文字。比如输出'hello, world',用代码实现如下:>>> print 'hello, world'注意:1.当我们在Python交...原创 2017-05-15 23:26:04 · 1072 阅读 · 0 评论 -
python学习笔记,类型转换出错的解决方法!
1、#号(#):注释换行(\n):换行反斜杠(\n):继续上一行分号(;):两个语句连在一行冒号(:):将代码块的头和体分开原创 2017-03-10 17:34:49 · 3970 阅读 · 0 评论 -
对比学习用 Keras 搭建 CNN RNN 等常用神经网络和其后端切换(Theano和TensorFlow)
参考:各模型完整代码周莫烦的教学网站这个网站上有很多机器学习相关的教学视频,推荐上去学习学习。Keras 是一个兼容 Theano 和 Tensorflow 的神经网络高级包, 用他来组件一个神经网络更加快速, 几条语句就搞定了. 而且广泛的兼容性能使 Keras 在 Windows 和 MacOS 或者 Linux 上运行无阻碍.今天来对比学习一下用 Keras 搭建下面几个原创 2017-09-21 09:52:57 · 1206 阅读 · 0 评论 -
python的2.x与3.x的安装与一些基本常识和集合很多模块的安装包。
其中的2.x跟3.x的区别是很大的,因为现在网上的很多代码是跟2.x编写的,如果安装新版的则可能会使用不了2.x的,例如:cPickle模块是2.x的,而新版的3.x是不包含这个模块,其新的模块是pickle。一、python2.x与pip的安装。在大二的时候接触过一段时间的Python,最近又开始玩起了这门语言。总的来说,个人很喜欢Python的语言风格,但是这门语言对于wind原创 2017-03-01 17:08:19 · 981 阅读 · 0 评论 -
电脑安装python、anaconda、pycharm、keras等获得pycharm注册码。还有英伟达cuda库下载链接,使用conda出现"目标计算机积极拒绝,无法连接"解决方法
注意:如果大家要学习深度学习的话,不要使用theano,因为现在的theano维护者很少了,赶不上GPU硬件的更新。其中python的keras已经可以支持TensorFlow了,TensorFlow与python的版本对应要求很严格,例如TensorFlow1.10一定要与anaconda3 4.2.0对应,否则很容易出错。强烈建议不要使用theano,要caffe或者TensorFlo...原创 2017-03-08 16:41:29 · 3417 阅读 · 0 评论 -
关于kereas、TensorFlow里的input_shape、shape的数据维度损失函数的定义方法
1、其中其使用input_shape=(12,),这个指的是输入一维的数据,其例子如下:# as first layer in a Sequential modelmodel = Sequential()model.add(Reshape((3, 4), input_shape=(12,)))# now: model.output_shape == (None, 3, 4)# not...原创 2018-05-25 15:28:23 · 41896 阅读 · 1 评论 -
kereas里的各种层意义
1、其中在融合residual跟separable特征图的时候需要融合,其使用到的方法就是kereas里的layers里的add跟Add方法,其文档地址为:http://keras-cn.readthedocs.io/en/latest/layers/merge/Addkeras.layers.Add()添加输入列表的图层。该层接收一个相同shape列表张量,并返回它们的和,shape不变。Ex...原创 2018-05-25 16:04:05 · 1553 阅读 · 0 评论 -
keras版本的Mask-RCNN里的相关的python函数解释
1、next()方法概述:next()方法在文件迭代器时使用到,在循环中,next()方法会在每次循环中调用,改方法返回文件的下一行,如果达到结尾(EOF),则会触发StopIteration ,这里是相当于这个类里面有next()方法。例子,假如在文件runboot.txt的内容如下这是第一行这是第二行这是第三行这是第四行这是第五行则循环读取文件的内容:#-*- coding:UTF-8...原创 2018-07-02 15:47:47 · 1880 阅读 · 3 评论 -
使用keras版本的Mask-RCNN来训练自己的数据集,tensorflow的安装指令制作方法超简单。
环境情况:window7 x64,cuda9,cudnn7,pycharm这个整理了网上很多的资料,并且进行代码修改后,得出的制作自己的训练数据很方便的的方法。整体的代码在GitHub:https://github.com/yangdashi88/Mask_RCNN-master--TrainOwerDatset 记得给个星,你的星就是我的动力。一、运行环境的安装:1、下载好...原创 2018-07-05 11:48:44 · 14519 阅读 · 40 评论 -
使用minst识别例子,使用tensorboard调参
1、准备mnists数据集,其方法有两种:第一种使用tensorflow的接口函数--input_data.read_data_sets(),其会警告:提示要自己实现下载函数,但是其是可以实现下载数据的,其需要翻墙。否则会报错退出。第二种自己手动到LeCun官网上下在数据集,其网站是:mnist数据集。把里面的四个文件都下载下来 注:把下载好的数据放到相应的文件夹下。然后代码相应的...原创 2018-08-17 18:28:46 · 835 阅读 · 0 评论 -
深度学习的知识点与python知识点三,tqdm与dataloader组合输出数据训练进度,ArgumentParser修改默认值
1、tensorflow里的四种交叉熵的实现跟计算:注意:tensorflow交叉熵计算函数输入中的logits都不是softmax或sigmoid的输出,而是softmax或sigmoid函数的输入,因为它在函数内部进行sigmoid或softmax操作tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None,labels=None,...原创 2018-08-30 16:41:39 · 3234 阅读 · 0 评论 -
python跟深度numpy产生随机数初始化矩阵、ones_like、tf打印变量、session获取变量值
注意:使用tensorflow里的任何函数进行一些测试的时候都需要使用Session()来创建一个会话。1、使用numpy跟tensorflow的自身函数产生随机值:numpy的特殊变量初始化的方式,其产生的数据类型是array,如下:使用tensorflow自身的函数来产生随机值,其产生的数据类型是tensor,如下:import tensorflow as tfwith...原创 2018-08-28 18:36:35 · 1174 阅读 · 0 评论 -
Tensorflow反卷积(conv2d_transpose)实现原理+手写python代码实现反卷积(DeConv)
1 反卷积原理反卷积原理不太好用文字描述,这里直接以一个简单例子描述反卷积过程。假设输入如下:[[1,0,1], [0,2,1], [1,1,0]]反卷积卷积核如下:[[ 1, 0, 1], [-1, 1, 0], [ 0,-1, 0]]现在通过stride=2来进行反卷积,使得尺寸由原来的3*3变为6*6.那么在Tensorflow框架中,反卷积的过程如...转载 2018-08-21 16:35:00 · 2399 阅读 · 0 评论 -
python与深度学习(list保存,enumerate,copy,deepcopy),bottleneck解释、matplotlib画图、控制台调试session中的变量
1、关于一些代码块注释出现“bottleneck”的名称解释在一些Gan网络比较常见一个词是“bottleneck”来定义其中的一段网络。其意思也叫作:瓶颈的意思。因为Gan网络里的Generator网络一般要进行类型U-net网络的设计的。那么其中的细网络部分就可以叫做“bottleneck”,而其中的这部分网络中的主要作用是进行特征提取,现在使用的比较多的是ResNet,所以也有人...原创 2018-08-21 17:04:14 · 756 阅读 · 0 评论 -
距离和相似度度量方法
http://blog.csdn.net/pipisorry/article/details/45651315在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。不同距离度量的应用场景 根据数据特性的不同,可以采用不同的度量方法。...转载 2018-09-11 16:56:17 · 29518 阅读 · 1 评论 -
对抗网络的简单版--手写数字MNIST的训练
1、对抗网络是一种数据驱动的网络。人为干预比较少。其中生成网络的损失利用了鉴别器的损失。而鉴别器的数据数据输入利用了生成网络的生成数据跟真实数据。两个网络再权重更新是互不干扰。都只更新自身的权重值。下面是简单gan网络的实现代码:import tensorflow as tfimport numpy as npimport tensorflow.examples.tutori...原创 2018-09-15 10:56:51 · 1054 阅读 · 0 评论 -
python深度学习stadardscalar fit_transform数据处理、contrib使用、Session多种创建、in_top_k、argmax、equal、cas、extend map
1、StadardScalar()与fit_transform() 其StadardScalar是去均值和进行方差归一化,其是对数据的每一个特征维度进行的操作,即对所有最小的元素进行操作,而不是针对一个样本。其要完成这个功能需要配合fit_transform()函数进行。其实例代码如下:# coding=utf-8# 统计训练集的 mean 和 std 信息from sklea...原创 2018-10-11 09:22:59 · 1429 阅读 · 0 评论 -
深度学习知识二:python知识点五、卷积跟全连层的区别
1、关于网络损失的计算方式对网络收敛速度的影响一般我们在构建网络的时候都是要构建网络的输出损失,比较常见的损失计算有均方差MSE、交叉熵sigmoid_cross_entropy_with_logits等损失计算方式。使用的是在相同的手写数据集上进行测验的,损失的计算是加上了稀疏度损失的即下面的Sparsity。由于均方差的的损失梯度比较小,下面使用均方差计算的梯度损失:19 T...原创 2018-10-19 17:27:07 · 336 阅读 · 0 评论 -
自编码网络的简单版类似于PCA
1、自编码网络的知识点:知道了自编码学习其实就是学习到了输入数据的隐含特征,通过新的特征来表征原始数据,本节将介绍如何使用这些隐含特征进行模式分类;还是以前面的三层自编码网络:抽象一下如下:其中学习到的权值系数W1与W1’是不一样的,我们把W1叫做编码权值,W1’叫做译码权值,原始数据在编码权值下的新数据Y就可以视为学习到了新维度下的数据,这在第三节也说过。那么如果我们用自编码学习并计算...原创 2018-10-10 17:03:12 · 449 阅读 · 0 评论 -
变分自编码网络的实现
1、VAE跟Gan有点类似,都是可以通过一些输入,生成一些样本数据。不同点是VAE是假设在数据的分布是服从正态分布的,而GAN是没有这个假设的,完全是由数据驱动,进行训练得出规律的。下面是变分自编码网络的代码:import numpy as npimport tensorflow as tfimport tensorflow.contrib as contribfrom tenso...原创 2018-10-24 15:56:36 · 823 阅读 · 0 评论 -
pytorch知识一tensor数据声明、类型转换。微调rensnet34的注意点。
1、tensor类型的数据声明:A、import torchimport numpy as npfrom torch.autograd import Variablerunning_corrects = 0.0# 声明一个单一变量3,Tensor默认的tensor类型是(torch.FloaTensor)的简称a=torch.Tensor([3])aa=torch.Tenso...原创 2018-11-13 10:40:47 · 9943 阅读 · 2 评论 -
pytorch里optimizer作用、自动求导autograd,from_numpy、numpy()等函数声明变量时候的浅拷贝、显卡内存 out of memory
1、其中optimizer的作用,其主要起到的作用就是进行权重的更新,如下:net=models.resnet50(pretrained=False)learning_rate=0.01# 权重更新 如果使用自带的optimizer函数进行梯度更新,效率更好,因为其还可以引入梯度#下降的方法,例如动量等方法for f in net.parameters(): f.data.s...原创 2018-11-21 10:30:31 · 4199 阅读 · 0 评论 -
FaceNet的一些网络训练评估
1、其中主要的损失triplet loss 原理triplet loss代码如下:def triplet_loss(anchor, positive, negative, alpha): """Calculate the triplet loss according to the FaceNet paper Args: anchor: the embeddin...原创 2019-01-04 15:57:21 · 1573 阅读 · 0 评论