python
文章平均质量分 51
dataat
这个作者很懒,什么都没留下…
展开
-
python程序内存泄漏的解决方法
笔者在实际应用过程中,利用python解析交易数据,其中的方法是对文件夹进行遍历,然后根据里面的每个文件进行单独的解析,也就是用到了多层循环,结果导致内存占用越来越大,以至于最终内存满了而程序崩溃退出。但是因为笔者的程序调用了外部API,这个相对比较难查找,因此弃用。在上述代码中,每次使用os.system进行调用之后,都会自动进行内存资源的回收。笔者查询了好多方法,包括直接使用gc进行内存回收, gc.collect()而很明显的一个现象就是程序人工中断退出之后,内存快速回收。原创 2023-12-01 19:21:15 · 958 阅读 · 0 评论 -
利用python实现文件压缩打包的功能
需要注意的是,上面的代码实际上只执行了一个打包的功能,根本没有对文件进行压缩,所以打包之后的文件大小没有什么变化,这显然不是我想要的。那么如果已经存在该压缩文件,现在想往该压缩文件里面追加文件,是否可以?其中的模式 w表示如果没有该文件则创建该文件,如果有该文件则覆盖。结果发现,外甥打灯笼--- 照舅(旧),对多个参数值进行尝试。这就需要对ZipFile函数的具体参数有所了解。实际上肯定可以的,只需要将w改成a即可。实际上肯定可以的,只需要将w改成a即可。原创 2023-12-01 19:10:05 · 693 阅读 · 0 评论 -
gym基础程序调试
介绍gym基础程序运行过程中如何调试,发现问题和解决问题。最终支出gym的版本很重要。原创 2023-05-29 16:16:47 · 1234 阅读 · 0 评论 -
安装gym指定版本
笔者近期接触深度强化学习,想按照网上的相关资料实际操作和学习一番,而深度强化学习的实例中,很多都用到了gym这个库。有关这个gym库的介绍,笔者在此不再赘述,只简单说一下实际使用过程中遇到的问题。原创 2023-05-29 16:07:10 · 3332 阅读 · 1 评论 -
pycuda基础实例代码
刚刚接触学习pycuda,本文介绍一个简单实例原创 2023-04-18 18:32:12 · 584 阅读 · 0 评论 -
ubuntu22.04安装pyCUDA
本文介绍如何在Ubuntu22.04系统中安装pycuda原创 2023-04-18 18:28:19 · 1461 阅读 · 0 评论 -
mininet基本操作
mininet是由斯坦福大学基于Linux Container架构开发的一个进程虚拟化网络仿真工具,可以创建一个包含主机,交换机,控制器和链路的虚拟网络,其交换机支持OpenFlow,具备高度灵活的自定义软件定义网络。在ubuntu系统中安装mininet比较简单,直接通过命令行安装即可:apt install mininet安装完成之后,即可在终端使用mn命令进行相关操作。不过这种方式相对比较抽象,不是特别直观。mininet2.2.0版本之后包含了miniedit程序,可以进行可视化的配.原创 2021-09-26 13:45:51 · 1826 阅读 · 0 评论 -
MLFlow最简单实例
近几天接触到一个开源的机器学习实验管理平台MLFlow,它独立于第三方机器学习库,可以与任何机器学习库、任意语言结合。本文介绍一个最简单的实验例子:安装很简单:pip install mlflow简单实例代码:import osfrom mlflow import log_metric,log_param,log_artifactif __name__ == '__main__': log_param("sim param",5) log_metric("foo",..原创 2021-09-09 17:20:02 · 1033 阅读 · 2 评论 -
selenium循环打开多个网页导致内存耗尽的解决办法
近几天使用了Selenium模拟打开浏览器获取网页数据,因为需要打开多个网页所以采用的是for循环的方式,随着程序的运行时间越来越久,发现内存占用越来越多。原来的代码大体如下:原创 2021-09-09 14:23:21 · 4022 阅读 · 3 评论 -
python程序 自动启动运行并防止启动两个以上进程
汗,近期需要运行一个python程序,但是受限于网络环境等具体因素,会偶尔中断崩溃。希望在程序中断运行之后,自动重新启动,所以采用的是crontab机制:*/5 * * * * python3 /test.py > /test.log上述命令表示每五分钟执行一次 python3 /test.py > test.log 命令。但是与此同时,也不希望同时运行两个python3 /test.py命令。因此需要在源代码里面进行判断:import psutilimport sys.原创 2021-06-26 18:45:53 · 1481 阅读 · 0 评论 -
mysql用户口令中含有特殊字符@的情况下,如何正确链接数据库
dbConnect=create_engine(f'mysql+pymysql://{userName}:{urlquote(password)}@{dbHost}:{dbPort}/{dbName}?charset=utf8')原创 2021-06-21 15:45:44 · 6587 阅读 · 1 评论 -
ModuleNotFoundError: No module named ‘rest_framework‘的解决办法
笔者近日运行Django程序,发现报错如下:ModuleNotFoundError: No module named 'rest_framework'实际解决办法很简单,安装相关的python包即可,具体命令如下:pip install djangorestframework原创 2021-04-15 15:15:36 · 6791 阅读 · 3 评论 -
pytorch利用resnet50提取图像特征
import osimport torchimport torch.nn as nnfrom torchvision import models,transformsfrom torch.autograd import Variableimport numpy as npfrom PIL import Imageimport timedevice=torch.device("cuda:3" if torch.cuda.is_available() else "cpu")class n.原创 2021-02-05 09:34:14 · 7548 阅读 · 6 评论 -
GPU显存不足,报错:RuntimeError: CUDA out of memory.
笔者近日利用pytorch框架对图像采用Resnet50模型提取特征的时候,利用到了GPU,发现报错如下:RuntimeError: CUDA out of memory. Tried to allocate 858.00 MiB (GPU 3; 10.92 GiB total capacity; 10.10 GiB already allocated; 150.69 MiB free; 10.13 GiB reserved in total by PyTorch)该程序运行所用GPU为1080TI原创 2021-02-04 14:11:32 · 3570 阅读 · 1 评论 -
报错:caffe2_detectron_ops.dll“ or one of its dependencies.的解决办法
在windows系统中安装了pytorch,结果运行最简单的测试程序时候仍然报错,大体信息如下: File "D:\Python38\lib\site-packages\torch\__init__.py", line 129, in <module> raise errOSError: [WinError 126] 找不到指定的模块。 Error loading "D:\Python38\lib\site-packages\torch\lib\caffe2_detectro.原创 2021-01-14 21:58:47 · 22714 阅读 · 38 评论 -
Ubuntu20.04系统中安装配置adb,连接华为手机
今天因为工作需要用ubuntu20.04系统连接adb进行相关操作,此处简单记一下相关操作步骤和细节,供大家参考:1、首先usb数据线连接手机至ubuntu20.04所在硬件设备(笔者此处为台式机),然后运行 lsusb,查看相关列表如下:root@server:~/.android/avd# lsusbBus 002 Device 002: ID 8087:8000 Intel Corp.Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.原创 2020-12-22 14:46:56 · 3504 阅读 · 2 评论 -
Django开发web程序经典问题之一------You may need to add ‘192.168.*.*‘ to ALLOWED_HOSTS.
在安装django并开发相关web程序之后,使用如下命令启动web服务器:python manager.py runserver 192.168.*.*:80其中192.168.*.*:80替换为相应的ip和端口即可。第一次运行的时候会遇到如下提示:Invalid HTTP_HOST header: '192.168.*.*:8000'. You may need to add '192.168.*.*' to ALLOWED_HOSTS.这种是新手遇到的第一个问题,很基础,只需要.原创 2020-11-17 14:23:54 · 3951 阅读 · 0 评论 -
qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “” even though it was found.
在使用visdom进行可视化的时候,遇到了如下错误:Setting up a new session...[Errno 111] Connection refusedqt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.This application failed to start because no Qt platform plugin could be initi原创 2020-09-01 16:33:05 · 1838 阅读 · 5 评论 -
利用python编写气泡提醒小程序
今天偶尔要用到气泡提醒的功能,在网上找了一下相关的python程序代码,找到一个notify-py,具体网址在这里,兴高采烈的pip安装一下,pip install notify-py然后照着所提供的源代码运行一下:from notifypy import Notifynotification = Notify()notification.title = "Cool Title"notification.message = "Even cooler message."缺发...原创 2020-08-31 14:49:06 · 1185 阅读 · 0 评论 -
在Ubuntu中安装fastai
在深度学习领域,最受学生欢迎的MOOC课程平台有三个:Fast.ai、deeplearning.ai /Coursera和Udacity。Fastai作为其中之一,是一个课程平台,一个讨论社区,也是一个基于PyTorch的顶层框架,可以让新手快速的实现深度学习算法。主要是由fast.ai团队等人将相关重要论文中的算法在各种数据集上进行测试,如果测试效果较好,就会集成在库中,以便于用户可以方便使用,最终形成了该框架。今天本文简单介绍一下如何在Ubuntu系统中安装fastai。直接使用pip3原创 2020-08-28 13:55:33 · 342 阅读 · 0 评论 -
Ubuntu20.04 配置python3环境
Ubuntu20.04系统安装完成之后,在使用python3之前需要进行一些配置才行。1. 升级# sudo apt update# sudo apt upgrade -y2. 安装编译Python源程序所需的包# sudo apt install build-essential -y# sudo apt install libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev -y.原创 2020-08-01 21:01:52 · 5155 阅读 · 0 评论 -
Tornado 编程首次接触及实践
Tornado是一种Web服务器软件,与主流的Web服务器框架的明显区别是:Tornado是非阻塞式服务器,而且速度相当快,可以快速处理众多的连接请求。首先安装Tornado。在Linux系统中可以使用pip安装也可以从github上clone之后进行安装:git clone https://github.com/tornadoweb/tornado.gitcd tornado/python setup.py buildpython setup.py install而Tornado在原创 2020-08-01 14:54:39 · 134 阅读 · 0 评论 -
简单粗暴,上手修改原始神经网络模型的结构,以mobilenetv2为例
如题,想用mobilenetv2来训练自己的数据集,那肯定需要对原有的模型进细微的修改,至少需要把分类数给修改一下吧。要想细微修改网络模型,则需要首先知道网络模型的结构,以mobilenetv2为例,简单使用如下代码:from torchvision.models import mobilenet_v2import torch.nn as nnnum_classes=100net=mobilenet_v2().cuda()print(net)运行上述代码,显示mobilenetv2原创 2020-07-15 20:29:06 · 3934 阅读 · 0 评论 -
使用pytorch针对自己的数据集进行模型训练,并迁移至android app中,错误问题的原因以及解决之道
如题,前几天,笔者尝试了将pytorch 深度学习模型迁移至android系统中,并写了一篇小结:《Android移动终端应用APP中实现图像分类功能-----以pytorch为例》。在该文中,下载了原作者提供的resnet18模型并迁移至android app中,成功运行。至此,笔者甚为高兴,以为彻底解决了难题,可以随意迁移网络模型。孰料,将自己整理的图像数据集作为样本库进行迁移学习之后,迁移到android app中,直接一闪而过,还没来得及黑屏就退出了。真是一点情面都不给。在测试了很多次之后,笔者原创 2020-07-10 19:48:18 · 3418 阅读 · 4 评论 -
pytorch基于resnet18预训练模型用于自己的训练数据集进行迁移学习
本文记录利用resnet18预训练模型进行迁移学习,在自己的训练数据集上进行重新训练。相关代码重点部分分别介绍如下:model=torchvision.models.resnet18(pretrained=True)num_features=model.fc.in_featuresmodel.fc=nn.Linear(num_features,num_classes)model=model.to(device)说明:上述代码首先加载resnet18预训练模型,然后根据训练数据集中的分类数量原创 2020-07-08 20:55:54 · 14821 阅读 · 6 评论 -
pytorch加载模型时报错:AttributeError: Can‘t get attribute ‘MobileNet‘ on 「module ‘__main__‘
在使用pytorch加载模型时(具体命令为:torch.load("xxxxx.ckpt"),报错如下:D:\Python36\python.exe model2android.pyTraceback (most recent call last): File "model2android.py", line 3, in <module> model=torch.load("MobileNetv2.cpkt") File "D:\Python36\lib\site-pac原创 2020-07-07 11:15:16 · 16702 阅读 · 2 评论 -
pytorch加载训练数据集dataloader操作耗费时间太久,该如何解决?
笔者在使用pytorch加载训练数据进行模型训练的时候,发现数据加载需要耗费太多时间,该如何缩短数据加载的时间消耗呢?经过查询相关文档,总结实际操作过程如下:1、尽量将jpg等格式的文件保存为bmp文件,可以降低解码时间;2、dataloader函数中增加num_workers参数,该参数表示加载数据的线程数,建议设置为该系统中的CPU核心数,若CPU很强劲,而且内存很大,也可以考虑将该数值设置的更大一些。train_loader=torch.utils.data.DataLoader(dat原创 2020-07-06 14:36:04 · 10103 阅读 · 2 评论 -
运行pytorch框架下的图像分类训练程序,出现cuda out of memory,解决方法探索
今天利用python和pytorch编写图像分类训练程序,好不容易噼里啪啦敲完键盘,运行之。。。。。,结果突然报错(RuntimeError cuda out of memory),使笔者大失所望,具体信息如下:原创 2020-07-06 09:40:15 · 3480 阅读 · 0 评论 -
python程序中rmdir删除非空目录,报错的解决方法
今天在python中删除目录dirname,调用了os.rmdir(dirname),因为dirname目录中含有内容,为非空目录,因而导致报错,具体信息如下:OSError: [Error 39] Directory not empty: '/home/xxx/dirname'建议改为调用shutil,具体代码如下:shutil.rmtree("/home/xxx/dirname")顺利运行通过...原创 2020-07-03 14:55:04 · 6337 阅读 · 0 评论 -
Android移动终端应用APP中实现图像分类功能-----以pytorch为例
笔者想在Android版本的App中实现图像分类的功能,查找相关文档之后,决定基于Pytorch实现,具体可以参考https://pytorch.org/mobile/android/。本文详细记录笔者进行实际测试的过程。1、利用预训练模型进行配置和测试模型转换:需要将预训练模型(例如Resnet18)进行序列化,相关代码如下:import torchimport torchvisionmodel = torchvision.models.resnet18(pretrained=True原创 2020-07-02 11:09:41 · 1766 阅读 · 0 评论 -
音频文件格式转换-----mp3与wav格式互转
在实际应用过程中,遇到mp3转为wav格式的问题,简单了解了一下,使用python的软件包相对比较简单。需要首先安装pydub软件包,代码如下:pip install pydub直接上代码,简单三行代码,实现mp3转为wav:from pydub import AudioSegmentsong=AudioSegment.from_mp3("XC14295.mp3")song.export("XC14295.wav",format='wav')类似的,简单三行代码实现wav到mp3的原创 2020-07-01 15:09:04 · 945 阅读 · 1 评论 -
ubuntu16.04安装python3.7,指定为默认python,并修改报错
ubuntu16.04系统自带的python目前已经不是最新版本了,而有些python程序对于python的版本有一定要求,此处详细记录一下安装python3.7的详细过程:1、查看python目前的版本首先可以查看一下当前python的版本,可以直接在终端输入python,回车之后就可以看到提示信息,也可以输入python -V,显示版本详细信息。当然有的时候可能需要使用python2 或者python3 来指定一下是python2.x 还是python3.x2、直接使用apt-get 安装原创 2020-07-01 11:22:32 · 2554 阅读 · 0 评论 -
从tushare网站获取股票基本信息并存入数据库中的python源代码
要对股票进行分析,需要关注股票的基本信息,例如上市时间、市值,所属行业等等,本文以从tushare网站获取相关信息为例,展示如何获取并存入到mysql数据库中,闲言少叙,直接上代码:#coding:utf8import tushare as tsimport pandas as pdfrom sqlalchemy import create_engineimport pymysqlimport configparserimport timestartTime=int(time.time原创 2020-06-30 21:54:11 · 878 阅读 · 0 评论 -
音频数据文件的合并----以python程序为例
近期需要对音频数据进行剪切与合并,有关合并的代码如下:from pydub import AudioSegment#加载要合并的音频数据inMP3_1=AudioSegment.from_mp3("XC14295.mp3")inMP3_2=AudioSegment.from_mp3("XC21286.mp3")#获取两个输入音频的音量与时长(以毫秒为单位)inMP3_1db=inMP3_1.dBFSinMP3_2db=inMP3_2.dBFSinMP3_1time=len(inMP3原创 2020-06-30 14:31:06 · 2075 阅读 · 1 评论 -
利用python编程实现音频剪辑
今天继续探讨一下利用Python剪辑音频,首先来看最简单的实例代码:from pydub import AudioSegmentsong=AudioSegment.from_mp3("XC14295.mp3")song[25*1000:68*1000].export('short.mp3')当然这运行之前需要首先安装pydub软件包,具体终端命令如下:pip install pydub安装完成之后,运行程序,结果大失所望,报错退出了。。。。。。。D:\Python36\lib\原创 2020-06-29 21:48:13 · 2125 阅读 · 0 评论 -
测试安装YOLOv4版本
刚刚安装测试了YOLOv5版本,本文继续安装测试一下YOLOv4版本,并在后续做一些对比。闲言少叙,首先下载源代码文件: git clone https://github.com/AlexeyAB/darknet.git如果没有git命令行,除了安装之后重新运行上一命令之外,也可以直接去github上下载源代码包。随后根据系统实际情况进行配置,如果需要使用GPU进行加速,则在Makefile文件中修改前四行GPU=1CUDNN=1CUDNN_HALF=1OPENCV=1另外 DE原创 2020-06-28 15:49:41 · 547 阅读 · 0 评论 -
安装测试YOLOv5
不久前,刚刚发布了YOLOv5版本的源代码,并且可以在github网站下下载,笔者今天下载下来试用了一下,对于遇到的一些问题做个记录,希望能让大家少走弯路。YOLOv5网址:https://github.com/ultralytics/yolov5访问该网址,在Ubuntu16.04的系统中进行安装:pip install -U -r requirements.txt能够顺利安装完成。随后按照提示,运行如下命令进行测试:$ python detect.py --source file原创 2020-06-28 13:57:57 · 3639 阅读 · 3 评论 -
音频特征----频谱图
频谱图是音频的一个重要特征,在深度学习算法中也经常用到,是通过视觉表示频谱的频率、声音或其他信号,因为它们随时间变化。频谱图有时被称为超声波仪,声纹或语音图。二维矩阵中一般第一维是频率,第二维是时间。而在频谱图中,横轴表示时间,纵轴表示频率。闲言少叙,直接上代码:利用librosa显示音频频谱图的源代码:import librosaimport matplotlib.pyplot as pltimport librosa.displayaudioFile='test.wav'x,sr=l原创 2020-06-27 10:37:22 · 5634 阅读 · 0 评论 -
音频特征---波形图
音频信号(Audio)是带有语音、音乐和音效的有规律的声波的频率、幅度变化的信息载体。根据声波的特征,可以把音频信息分类为规则音频和不规则声音。规则音频可视为一种连续变化的模拟信号,并使用一条连续的曲线(即声波)来表示。 当前人工智能日益成熟并在越来越多的领域获得应用,其中语音识别,音频鉴别等就是其中一个很重要的应用领域。这些核心算法的第一步都是需要将音频文件数据化,提取其中的音频特征。本文主要以其中的一个基本特征 波形为例来进行介绍。在此之前,我们首先来了解音频的一些基本概念...原创 2020-06-26 21:52:27 · 21937 阅读 · 0 评论 -
YOLO系列目标检测算法简述
说起目标检测算法,就不得不提到YOLO,尤其是今年YOLO版本有了新的发布。1、YOLOv3目前在YOLO官网上(https://pjreddie.com/darknet/yolo/),YOLO最新版本是v3,关于YOLOv3的使用key参考官网,网络中的相关文章也很多,可以自行搜索了解。不过这里有必要澄清一个概念,就是YOLO与darknet的关系:darknet是YOLO作者自己写的一个深度学习框架,后来在YOLO9000中提出了由ResNet改进而来的19层卷积网络,称之为Darknet-原创 2020-06-26 15:50:17 · 492 阅读 · 0 评论