自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (4)
  • 收藏
  • 关注

原创 torch.cat()的一点理解

torch.cat(z, 0)的结果是维度变成(1,2,9),torch.cat(z, 1)的结果是维度变成(1,6,3),torch.cat(z, 2)的结果是维度变成(3,2,3),是维度上的变化,不是具体元素的数值变化。

2023-01-29 13:53:42 294 1

原创 解决win10+LibTorch1.9中 Torch::cuda::is_available()返回为False和module.to(device)异常

环境:Windows10系统+LibTorch 1.9.0+使用VS2022。(libtorch1.6、vs2017以上都可能发生)如果运行后同样出现,无法解析的外部符号,在属性、链接、输入中添加 libtorch_cuda_cu.lib。运行后如果出现以下字样,在属性、链接、输入中添加 libtorch_cuda_cpp.lib。...

2022-08-15 17:58:48 1285 1

原创 docker部署nginx和vue(可以部署多个nginx和vue)

最近有一个项目需要前后端分离。实际上,简单的部署nginx和vue就可以实现了。但是考虑到项目中的管理员端和用户端分别用两套vue实现,因此考虑用docker进行部署。主要有两个好处,一是docker部署使得封装性更好,之后的拓展、拷贝、卸载也更加方便;二是可以实现多个nginx部署,不会形成冲突。Nginx部署首先使用下面的命令拉取nginx的镜像。docker pull nginx然后就是使用这个镜像创建容器(这个容器是临时的):docker run --name nginx -d -p 8

2022-04-28 22:03:10 4774

原创 (3)pytorch 预训练模型与微调

预训练当我们想做一个图像分类任务时,我们可以选择别人已经训练好的模型,在它的基础上进行训练。一般地,我们初始化训练一个网络时,会初始化网络参数(随机的),然后不断训练使网络的损失越来越小。过程是没问题的,但是对于一个大型数据集来说,训练一个模型并使它达到较小的损失是一个漫长的过程。因此我们可以在结果很满意的时候保存训练模型的参数,以便下次在训练的时候可以直接在该模型的基础上开始。这个过程就叫预训练。微调用预训练型和自己的数据进行训练,使得参数适应自己的数据,这样一个过程称之为微调。微调可大概分为3种情

2021-10-09 21:38:46 4764

原创 (2)pytorch 实现图片分类(多种模型对比)

按照计划,学习深度学习的第一步是对minist数据集进行分类,选取的网络也是比较简单的网络,主要是为了大概理解一个深度学习网络的框架是怎么样的以及如何从零开始做一深度学习项目。在第一步的基础上,接下来就是需要处理更大难度的数据集以及选取复杂度更大的网络模型。一、数据集这里选择了torchvision.datasets中的CIFAR10数据集,该数据集是torchvision自带的数据集之一,包含了10个类别共10000张图片。数据的加载和使用: transforms = torchvision

2021-10-08 20:50:00 2935

原创 (0)深度学习项目入门(pytorch)

想入门深度学习,感觉无从下手,怎么办?除了理论上的学习之外,最快速的方法就是做项目:包括但不限于别人已经做好的项目,导师布置的项目作业,自己接到的项目。做项目的方法是模仿,也就是抄。抄别人的项目,再自己总结:1.这个模块的作用是什么2.这个模块有哪些重要的类和函数3.这些重要的类和函数在哪里调用的,作用是什么4.数据输入输出的格式,为什么要这么用。从mnist分类开始,到经典的RCNN或者YOLO。抄完一遍基本上已经算是能够自己完成一些小项目了。剩下的就是思考怎么涨点的问题了。项目做多了就会发现

2021-10-07 16:02:04 966

原创 (1)pytorch 实现 minist手写数据集(cpu/gpu)版本

minist手写文字数据集是深度学习/机器学习的入门集数据集。通过搭建深度神经网络的方法对minist数据集进行训练和预测,可以对整个深度学习的框架做一个大概的了解。cpu 版本,即数据和模型都在cpu(内存)上训练,不需要调用gpu。# 训练+测试import torchimport torch.nn as nnimport torch.utils.data as Dataimport torchvisionimport matplotlib.pyplot as pltimport o

2021-10-07 11:26:26 2078 1

原创 conda安装pytorch(离线安装)

最近要安装pytorch,发现国内的源和默认源都安装不了。找到了一个离线安装的方法。在 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/中找到想要下载的源文件,下载到本地。利用conda命令离线安装即可。比如:conda install --offline pytorch-1.1.0-py3.6_cuda90_cudnn7_1.tar.bz2...

2020-07-24 11:09:49 3886 6

原创 python SVM(支持向量机)的实现

from sklearn import svmimport numpy as npfrom sklearn.metrics import accuracy_scoredef loadSplitDataSet1(txtname,rate,k): file = open(txtname) lines1 = file.readlines() file.close #print(lines1) lines2=[] lines1.pop(0) for li

2020-07-02 16:19:40 203

原创 python 决策回归树

决策回归树主要用CART算法来实现。CART算法:CART算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,不纯度越低,特征越好。比较基尼系数和熵模型的表达式,二次运算比对数简单很多。尤其是二分类问题,更加简单。CART分类树算法对连续值的处理,是使用划分点将连续的特征离散化,在选择划分点时,分类模型是基于基尼系数,回归模型是基于和方法度量。本实验采用的是最小二乘回归树生成算法,算法如下图所示。结果:代码实现:"""CART+最小二乘法构建CART回归树"""

2020-07-02 15:56:47 872

原创 python 决策分类树

ID3算法:核心是在决策树各个节点上应用 信息增益 准则选择特征,递归的构建决策树。具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归的调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。ID3算法还存在另一个问题,它不能直接出来连续型特征。只有事先将连续型特征转为离散型,才能在ID3中使用。 但这种转换过程会破坏连续型变量的内在性质。由于数据集是连续的数据,所以本实验采用的按区域划分的方

2020-07-02 15:40:54 228

原创 python KNN MNIST 手写数字识别

利用KNN算法做手写数字识别,数据集用到了MNIST。KNN(最近邻算法),根据距离最近的K个标签中的多数值确定该数据的标签。主要的算法实现:def classify(testOne, dataSet, labels, k): dataSetSize = dataSet.shape[0] diffMat = tile(testOne, (dataSetSize,1))-dataSet sqDiffMat = diffMat**2 sqDistances = sqDiff

2020-07-02 14:32:17 1186

原创 python 轮廓检测 最小外接矩形

def shapeDetect(img): contours,hierarchy=cv2.findContours(img,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)#寻找封闭区域 cv2.drawContours(img,contours,-1,(0,0,255),3) maxCnt=-1 for i in range(len(contours)): rect = cv2.minAreaRect(contours[i])

2020-07-02 13:58:31 1945

原创 python flask ajax的前后端实现

文件目录如下,其中static存放背景图之类的图片,templates存放前端.html等文件。前端:index.html<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <script src="../stati

2020-07-02 00:23:47 326

原创 python 图像的旋转与仿射变换

python代码实现,需要输入原图片和旋转角度。def rotate(img, angle):#输入原图片和需要旋转的角度 # 旋转图片 (h, w) = img.shape[:2] # 获得图片高,宽 center = (w // 2, h // 2) # 获得图片中心点 img_ratete = cv2.getRotationMatrix2D(center, angle, 1) #求旋转图片 rotated = cv2.warpAffine(img,

2020-07-01 23:25:25 531

原创 python 图像分割方法总结

图像分割是一种常用的图像处理方法,可分为传统方法和深度学习的方法。深度学习的方法比如:mask rcnn这类实例分割模型,效果比传统的图像分割方法要好的多,所以目前图像分割领域都是用深度学习来做的。但是深度学习也有它的缺点,模型大、推理速度慢、可解释性差、训练数据要求高等。本文在这里仅讨论传统的图像分割算法,可供学习和使用。1、阈值分割最简单的图像分割算法,只直接按照像素值进行分割,虽然简单,但是在一些像素差别较大的场景中表现不错,是一种简单而且稳定的算法。def thresholdSegment(f

2020-07-01 23:17:21 18414 7

原创 python 文字转表格 openpyxl

python文字转表格主要用到openpyxl模块。主要的操作要两个,创建表格和写操作。创建表格: book = Workbook() sheet = book.create_sheet(title='新数据表',index=0) #创建工作表格插入: sheet.cell(row = 0, column = 0, value = 'data') #row是行,column 是列保存: book.save('test.xlsx') #保存到test表格中 除了

2020-07-01 22:14:44 846 2

原创 python 利用Tesseract-OCR做场景文字识别

一、下载并配置Tesseract1.Tesseract下载地址:2.安装完后,记得配置环境变量,默认是:C:\Program Files (x86)\Tesseract-OCR3.为了在python代码中使用tesseract功能,使用pip安装pytesseract:pip install pytesseract二、场景文字识别例子如果要做真实场景下的文字识别,有一个问题是必须要考虑的,就是复杂场景下怎么保证识别准确率。我举的这个例子可能不太准确,但是能给一些参考吧。我想在一张监控图片中

2020-07-01 17:58:00 978

原创 机器学习10大经典算法 python实现

1、svm(支持向量机):from sklearn.datasets import load_iris import numpy as npfrom sklearn.metrics import accuracy_scorefrom sklearn import svmfrom sklearn.model_selection import train_test_splitif __name__ == '__main__': allPre=[] for i in range(1

2020-06-30 22:52:12 751

原创 前端接收flask后端的返回值

前端接收flask返回主要有两种方法,一种是直接在html页面中嵌套语句,一种是利用js解析,后者更具通用性和可修改性。第一种:这种方法,后端的返回值可以是字典类型、数组或者单变量,但是不能是json格式,解析不到。data是返回的参数名层,与要与前端html对应,名字要相同,前端可以直接取值。前端代码:<!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="UTF-8"&g

2020-06-28 22:34:36 7559 2

原创 萤石 python获取直播地址和画面

萤石官方文档链接萤石官方文档中描述了获取直播信息的若干种方法,本方法是用python写的。需要appKey和appSecret才能获取。代码如下:import cv2import sysimport requestsimport jsonclass YingShiLiveUrl: def __init__(self,appKey,appSecret,mode): self.appKey=appKey self.appSecret=appSecret

2020-06-19 15:36:29 3980 4

原创 Jetson Nano 之安装pytorch

jetson nano不能使用源码安装!jetson TX2 或许可以 Pytorch–3--TX2中源码编译并安装pytorch1.0但是我弄了半天编译不通过,查阅相关资料也没用,整了半天也没用。后来经人提醒,jetson nano需要用官方打包的whl文件才可以安装成功,自行编译不仅耗费时间,还会出错。官方地址有两个问题要注意:1、版本问题:Pytorch 和 JetPack 的对应版本:Pytorch 和 Torchvison 的对应版本:2、因为那个原因,使用以下语句下载会出错。w

2020-05-31 16:37:38 7743 6

原创 编译pytorch出现的问题(技巧)

最好的查询编译问题的地址还是GITHUB的issue界面,将你遇到的问题粘贴过去查询即可,基本你遇到其他人也遇到的问题都在这里了。https://github.com/pytorch/pytorch/issues

2020-05-31 11:04:52 403

原创 Linux查看磁盘空间大小命令、查看硬盘的分区

Linux查看磁盘空间大小命令df -hldf -hl 查看磁盘剩余空间df -h 查看每个根路径的分区大小du -sh [目录名] 返回该目录的大小du -sm [文件夹] 返回该文件夹总M数du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)更新详细命令文档:df --helpdu --help查看硬盘的分区:fdisk -l查看IDE硬盘信息:hdparm -i /dev/hda查看STAT硬盘信息:hdparm -I /dev/sda 或 apt-get i

2020-05-31 02:02:34 1221

原创 jetson nano Error: no CUDA-capable device is detected

Jetson Nano利用官方镜像进行安装后,系统已经安装好了JetPack,cuda,cudnn,OpenCV等组件,但是还需要修改配置文件。1.修改环境变量利用vim打开 ~ 路径下.bashrc文件,如果打开失败(打开是个空文件即是失败),可以 cd ~ 进入用户目录,然后用 ls -a 查看所有文件,在输入 sudo vim .bashrc 即可打开。sudo vim ~/.bashrc文件的最后添加以下三行:export PATH=/usr/local/cuda-10.0/

2020-05-30 22:38:36 1298

原创 jetson nano安装scikit-image失败(暨依赖包imagecodecs安装失败)

问题就出在imagecodecs这个包里面,会有一些文件编译不通过。解决方法就是下载源码,自己编译。源码地址以及相关说明Use the --skip-extension build options to skip building specific extensions. Use the --lite build option to only build extensions without 3rd-party dependencies. Edit setup.py to modify other bu

2020-05-30 15:45:45 1687

原创 编译OpenCV时错误,缺少boostdesc_bgm.i文件的问题(附带资源)

其实就是缺少以下文件:boostdesc_bgm.iboostdesc_bgm_bi.iboostdesc_bgm_hd.iboostdesc_lbgm.iboostdesc_binboost_064.iboostdesc_binboost_128.iboostdesc_binboost_256.ivgg_generated_120.ivgg_generated_64.ivgg_generated_80.ivgg_generated_48.i从https://github.com/o

2020-05-29 23:38:32 3953 6

原创 windows下错误:No module named ‘pycocotools’

直接pip install pycocotools是不行的,要用git,直接在终端输入以下代码,等待漫长的时间后就可以了。pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

2020-05-24 11:32:16 809

原创 图像旋转 c++/python实现

#include <iostream>#include <string.h> #include <math.h> #include <stdlib.h> #include <malloc.h> #include <cstdio>#include "bmp.h"using namespace std;#define DRAW_HEIGHT 400 //目标图像高度 #define DRAW_

2020-05-22 22:50:33 214

原创 图像的乘法求感兴趣区域(图像截取) c++实现

在做图像任务时,会经常需要求取特定矩形框内图像内容,并在此基础上进行下一步操作。典型的应用就是二维码的扫描框。代码的实现比较简单,我先用一个opencv-python的例子来说明。im = cv2.imread(img_file)imNew=im[Ymin:Ymax,Xmin:Xmax] #y1:y2,x1:x2 代表先左上再右下,先y轴再x轴c++代码实现:"bmp.h"的头文件代码:bmp图片的类以及读写函数 bmp.h#include <iostream>#include

2020-05-22 21:16:28 660

原创 图像求像素均值、减法求前景 c++实现

图像求像素均值的方法比较简单,将像素值累加后除于像素大小即可,相关代码如下所示:long sum =0;for(int hnum=0;hnum<height;hnum++){ for(int wnum=0;wnum<width;wnum++) { int pixel_point=hnum*l_width+wnum*3; sum=sum+pColorData[pixel_point]+pColorData[pixel_point+1]+pColorData[pixel

2020-05-22 20:47:08 1493

原创 图像灰度级的增加、减少 c++实现

图像灰度级的增加、减少,原理比较简单,对每一个像素进行操作,使之增加、减少即可。c++代码实现:"bmp.h"的头文件代码:bmp图片的类以及读写函数 bmp.h#include <iostream>#include <string.h> #include <math.h> #include <stdlib.h> #include <malloc.h> #include <cstdio>#in

2020-05-21 23:31:37 689

原创 bmp图片的类以及读写函数 bmp.h

复制一下代码,保存为 bmp.h ,作为头文件使用。#include <iostream>#include <cstdio>#define WIDTHBYTES(bits) (((bits)+31)/32*4)//用于使图像宽度所占字节数为4byte的倍数 typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; //win32,win64,l

2020-05-21 21:45:45 2813 1

原创 python try except 通用

for f in fileList: try: main(f) except Exception as e: print(Exception,',',e)

2020-05-16 10:32:29 231

原创 python 用folium展示地理数据(GPS Trajectory)

简单的用folium模块处理gps数据,调用api将数据用网页展示出来。本来是先用到gmplot模块,但是谷歌地图被墙了,api获取不到,所以只能用folium。folium调用的是高德的api,效果差不多。import pandas as pd #Python数据分析模块import os #统一的操作系统接口函数import foliumimport webbrowser#定义数据文件的路径path = './GPS Trajectory/'def readCSV(n):

2020-05-09 22:54:05 1951

转载 图像读写的c++ 实现

参考博文 C/C++ BMP(24位真彩色)图像处理(1)------图像の打开与数据区处理#include <string.h> #include <math.h> #include <stdlib.h> #include <malloc.h> #include <iostream>using n...

2020-05-08 09:31:21 467

原创 Windows下vscode配置C/C++编译环境

1、所需软件1、vscode,目前最省心的开发工具,下载地址: https://code.visualstudio.com/Download2、MinGW,Windows特定头文件和使用GNU工具集导入库的集合,其实单独的MinGW就是一个c++编译环境,vscode只是给它套了个壳,提供了一个可操作的界面。我自用的MinGW下载地址:下载x86_64-win32-sjlj,官网那个下半天没下...

2020-05-07 00:58:40 638 1

原创 图像的放大:双三次插值算法(C++实现)

双线性插值算法的不足就是细节处理的不好,换句话说,就是曲线拟合得不够光滑,所以又有了双三次插值算法。双三次插值算法是基于周围的16个像素点,通过计算16个像素点的权重,累积得到增加点的像素值的。简单点理解,公式如下:p=f(u,v)=∑i=03∑j=03wijxiyjp=f(u,v)=\sum_{i=0}^{3}\sum_{j=0}^{3}w_{ij}x_{i}y_{j}p=f(u,v)...

2020-05-06 15:42:06 3834 6

原创 图像的放大:双线性插值算法(C++实现)

图像的放大本质上就是增加像素点,目前常用的传统方法是内插法,代表算法有最临近点插值算法、双线性插值算法和双三次插值法,这些算法都是基于相邻像素点的像素值计算所要增加的像素点的像素值,因而在放大时会有失真的现象存在。在深度学习领域,图像的方法也称为超分辨率,一般采用Gan网络对抗生成高分辨率图片,尽管在一些数据集中取得不错的表现,但是算法的鲁班性还有待加强。因此,了解传统的内插法还是有很大必要的。...

2020-05-05 23:33:09 6834 1

原创 图像的缩小(c++实现)

图像的放大、缩小欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Mark...

2020-05-05 21:34:55 4997 3

python 实现决策回归树及其数据集

决策回归树主要用CART算法来实现。本资料包括有决策回归树的python实现以及相应的数据集,可以自动生成相应的决策树图。

2020-07-02

决策分类树代码以及数据集.rar

python决策分类树的代码以及所使用的数据集,代码是自己的实现的,并且可以自动生成决策树。11111

2020-07-02

KNN_MNIST.rar

KNN MNIST手写数字识别,包括代码和数据集。其中利用KNN算法做手写数字识别,数据集用到了MNIST。KNN(最近邻算法),根据距离最近的K个标签中的多数值确定该数据的标签。

2020-07-02

boostdesc_bgm.i等文件.rar

从gitbun上拷贝下来的boostdesc_bgm.i等OpenCV编译时缺失的文件。不想麻烦的同学直接下载即可。

2020-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除