自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pix2pixHD local训练

pix2pixHD是18年的一个精度比较好的生成网络,生成器方面主要是有两个网络组成(g1:global network,g2:local network) 官网开源的代码默认训练是训练global network,也就是G1,就目前来说,G1本身就能达到一个精度不错的效果,不过既然pix2pixHD的精髓是g1+g2那么,就需要联合训练一下,按照论文里的说法,需要先训练一个低分辨率的g1,然后将g1加入到g2中,然后只微调g2,最好是联合训练,将g1+g2都一起训练,能达到一个精度更好的效果,由于开源出来

2022-09-22 19:44:59 230

原创 pytorch和numpy的@用法

我们可以看到,x2*x3得到的是点乘的结果,而x2@x3才是真正的乘法,这样的写法只是为了简写,本来torch和numpy是提供的乘法规则的,只是这样计算相对来说简单一些。

2022-09-22 19:17:50 329

原创 ubuntu安装opencv4

安装opencv4 在Ubuntu比较简单,几步就行:(1)sudo apt-get install build-essentialsudo apt-get install build-essential(2)sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install cmake git libgtk2.0

2022-03-07 14:20:46 4366

原创 opencv使用openvino模型

还记得在这篇文章,我们提到了cv::dnn::readNetFromModelOptimizer可以读取深度学习模型,但是当时并未使用,这个函数可以直接读取openvino格式的模型,我们可以先去下载一个人脸检测的模型。现在我们直接使用,和之前使用没啥区别,只是模型文件变成了xml和bin文件,使用代码如下:#include<iostream>#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#

2022-02-22 10:52:28 2367 1

原创 openvino直接使用TensorFlow的模型

opencv里面dnn模块可以读取TensorFlow等深度学习模型,我在这篇文章里面实践过。opencv的dnn模块还可以直接结合openvino使用深度学习模型进行推理,虽然openvino可以使用自己的方式加载模型,但是直接使用opencv:dnn相对来说简单直接。重点是我们可以先不将TF的模型转成openvino的模型,这样也能直接运行,不过亲测好像TF2以上的办法没法运行。这里我们还是使用的MobileNetSSD代码如下:#include<iostream>

2022-02-22 10:10:06 2179

原创 opencv使用MobileNetSSD进行目标检测

这里我们使用MobileNetSSD进行目标检测,模型文件是下载的这个:https://github.com/PINTO0309/MobileNet-SSD-RealSense/tree/master/caffemodel/MobileNetSSD具体使用的代码如下:void main() { cv::Mat i1=cv::imread("51.jpg");cv::dnn::Net net; net = cv::dnn::readNet("MobileNetSSD_deploy.

2022-02-14 16:36:59 1986

原创 opencv里面使用caffe模型

opencv可以加载很多主流的深度学习模型,比如caffe、onnx、TFcv::dnn::readNetcv::dnn::readNetFromCaffecv::dnn::readNetFromDarknetcv::dnn::readNetFromONNXcv::dnn::readNetFromTensorflowcv::dnn::readNetFromTorchcv::dnn::readNetFromModelOptimizer下面我们简单使用一下,使用的bvlc_googlene

2022-02-14 11:54:19 1678

原创 python中使用字符串进行反射

直接上代码class BigData: def __init__(self,hdfs=None,yarn='yarn'): super(BigData, self).__init__() self.hdfs=hdfs self.yarn=yarn def hive(self): print('use hive to select data') def hbase(self): print('use

2021-11-02 20:46:10 1240 7

原创 混合精度工具apex安装

apex可以在深度学习训练的时候使用自动混合精度(amp)apex安装直接使用pip install apm能够安装但是不能使用直接使用源码安装就行git clone https://github.com.cnpmjs.org/NVIDIA/apex.gitcd apexpython setup.py install这样就可以使用apex了...

2021-08-09 15:31:15 433

原创 利用BeautifulSoup解析并下载文件

!pip install beautifulsoup4from bs4 import BeautifulSoupsoup=BeautifulSoup(open('XXX.html',encoding='utf-8'),features='html.parser')ls=soup.find('div',{'id':'_imageList'}).findAll('img')res=[]for i in ls: #print(i['data-url']) res.append(i[.

2021-07-22 20:15:11 309 1

原创 利用string.Template操作数据结构

直接上代码:import stringa = string.Template('$var1 is $var2')print(eval(a.substitute(var1='1',var2='11')))b = string.Template('$var1 == $var2')print(eval(b.substitute(var1='1',var2='11')))x1,x2=1,1print(eval(a.substitute(var1='x1',var2='x2')))x3,x4=[1

2021-07-22 20:09:26 73

原创 mount: /: wrong fs type, bad option, bad superblock on /dev/sda5, mis

在挂载硬盘的时候出错,实际上是因为超级块的问题,我们可以修复一下磁盘即可e2fsck -y /dev/sda5然后等待修复完成,重新挂载就没问题了

2021-07-19 17:56:29 814

原创 @staticmethod的作用

class human(): @staticmethod def eat(x): print('person a eatting %s in night' %x) print(2) human.eat('香蕉')human().eat('西瓜')class human: def eat(x): print('person a eatting %s in night' %x) print(2)human.eat(...

2021-07-19 17:53:08 212

原创 针对显存超过某个阈值,自动重启程序

import pynvmlimport timeimport os,signalpynvml.nvmlInit()handle = pynvml.nvmlDeviceGetHandleByIndex(0)meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)while True: _used=meminfo.used _total=meminfo.total if _used>_total*0.98: .

2021-07-07 16:25:32 244 1

原创 批量杀死python进程

#!/bin/basha=`pidof "/opt/AN/bin/python3.8"`arr=(${a// / }) for var in ${arr[@]}do echo $var kill -9 $vardone这里使用的python3.8,这样可以批量杀死python了

2021-07-07 16:22:17 246

原创 使用paddlegan进行视频超分

虽然RealSR不是效果最好速度快的算法,但是使用起来很方便,代码如下,需要提前安装paddlegan就行from ppgan.apps import RealSRPredictorsr = RealSRPredictor()res_path='1.mp4'_,out_path=sr.run(res_path)print(out_path)当这个方式也可以输入一张图片进行图片的超分。...

2021-06-25 10:55:49 567 1

原创 使用crontab设置python程序开机自启

使用这样的方式很容易成功,不容易失败而且设置起来很简单,不需要复杂的配置,只需要和设置定时任务一样简单@reboot cd /ABC/ && /opt/AN/bin/python demo.py >> demo.log 2>&1

2021-06-24 16:33:17 234

原创 使用ThreadPool批量处理任务

multiprocessing提供了一个线程池的工具,可以供使用者进行批量处理任务比如下面一个例子,就是使用这个批量打印路径import osimport timeimport tempfileimport pathlibimport shutilfrom multiprocessing.pool import ThreadPool_paths=[str(i)+".jpg" for i in range(1000)]def fast(_p): _pss="/opt/"+_.

2021-06-24 15:39:14 113

原创 内存递增之moviepy.video.io.ImageSequenceClip.ImageSequenceClip

moviepy.video.io.ImageSequenceClip.ImageSequenceClip

2021-06-20 15:16:35 451

原创 Failed opening ‘filename‘ (could not find in RIFF header)

运行aubio出错:Failed opening 'filename' (could not find in RIFF header)在GitHub找到解决方式,重新安装即可pip uninstall -yv aubiopip install --force-reinstall --no-cache-dir --verbose aubio

2021-06-17 10:27:31 219

原创 Transforming the Latent Space of StyleGAN for RealFace Editing

近日,快手发表一篇名为《Transforming the Latent Space of StyleGAN for RealFace Editing》的论文在stylegan的基础进行改进,引入transformer,提出一个W++的空间先观看一下网络结构:文章最大的贡献是引入了transformer,效果总的来说比W和W++空间好,可以看一下效果文章解释了为啥引入transformerAn ideal solution to this problem should ther

2021-06-06 09:27:34 191 3

原创 svm使用gpu加速

sklearn里面的svm拿来训练真的贼慢,还不能使用多线程加速,哪怕你的cpu是8核或者16核,训练的时候只使用1核,找了各种方式没有找到最终发现一个库,叫做thundersvm,可以做gpu加速使用起来也十分的简单,api几乎和sklearn里面是一模一样的安装使用pip安装就行:pip install thundersvm下面演示一下二分类:import numpy as npimport pandas as pd#from sklearn import svmfro

2021-05-21 13:54:06 5749 15

原创 使用OpenCV进行图片风格化

OpenCV现在可以直接读取训练好的风格化的深度学习模型,模型下载地址如下:https://github.com/jcjohnson/fast-neural-style/blob/master/models/download_style_transfer_models.sh话不多说,直接先上代码:这里我是使用的其中一个模型import cv2 as cvimport numpy as npnet = cv.dnn.readNetFromTorch('feathers.t7')pr

2021-05-20 15:19:00 779

原创 使用c++版dlib做人脸对齐

dlib提供好了一个做人脸对齐的方法get_face_chip_details人脸对齐的原理也很简单,主要是先通过人脸关键点检测,然后对其进行仿射变换,得到标准人脸。使用例子如下:#include"dlib/image_processing/frontal_face_detector.h"#include"dlib/image_processing/render_face_detections.h"#include "dlib/image_processing.h"#include"dl

2021-05-15 13:51:37 397 1

原创 使用gdown下载Google drive文件

Google drive的文件我们可以点击下载按钮进行下载,但是要想在命令行使用wget进行下载是不能实现的只能选择使用gdowngdown作为一个Python的工具包,可以使用写代码的方式进行下载,也可以直接敲一行命令搞定,这里为了简单,就敲命令:gdown 需要下载drive的链接,比如:gdown 'https://drive.google.com/uc?id=1H73TfV5gQ9ot7slSed_l-lim9X7pMRiU'然后不出意外就能下载了,使用起来是不是超级简单..

2021-05-04 12:46:38 10326 4

原创 TP Link WN726N ubuntu18安装成功

TP Link 的无线网卡确实在Ubuntu上不好使用,这个大哥亲测了无数坑:https://blog.csdn.net/zhanghm1995/article/details/105334832但是他说没法使用,其实并不是,我找到一个大佬将的贼好:https://blog.csdn.net/qpx0033/article/details/50774637按照他的方法直接可以成功首先插上网卡,然后使用命令查看显卡的硬件类型:lsusb我发现自己的是obda:b711于是去谷歌

2021-04-30 11:33:51 3578 2

原创 Cannot convert a symbolic Tensor to a numpy array

使用TF进行计算,出现:Traceback (most recent call last): File "infer.py", line 14, in <module> logits = classifier.get_output_for(image, None) File "/opt/stylegan2/dnnlib/tflib/network.py", line 219, in get_output_for expr = tf.zeros([tf.shape(v

2021-04-28 18:08:03 2118 4

原创 Command errored out with exit status 1: python setup.py egg_info Check the logs for full command ou

安装paddlehub出错: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command ou解决方式:更新pip和setuptoolspip install --upgrade pippip install --upgrade setuptools

2021-04-28 16:56:19 224

原创 SharedMemory一次性学会

SharedMemory是python3.8新增加的特性,主要使用内存共享,使用非常方便使用文档链接:https://docs.python.org/zh-cn/3/library/multiprocessing.shared_memory.html我们可以先新建一个对象试试:from multiprocessing import shared_memoryshm_a = shared_memory.SharedMemory(create=True, size=10)这个方法新开辟一个空

2021-04-26 20:21:46 378

原创 使用半精度,提升pytorch推理性能

原生的torch是float32的,我们可以借鉴模型量化的思想将其变成float16,而且pytorch自身就定义了半精度的tensor假设我训练的一个模型为model,我们在运算的时候直接将模型转成半精度的模型,怎么做的呢?直接使用model.half()就行model.half()model.cuda()假设我们有个float32的tensor的变量img,为了使用半精度的模型,同样需要将其输入转成HalfTensorimg=img.type(torch.HalfTensor)..

2021-04-21 19:04:08 3256 4

原创 批量创建conda虚拟环境

可以使用文件的方式一次性创建虚拟环境:conda env create -f XXXXenv.yaml安装成功就会提示你对虚拟环境进行激活,不过直接激活不行,需要切换一下环境:source activate现在就会出现一个名为base的虚拟环境,接下来我们激活自己的刚才创建环境即可conda activate haha_env注意:假如我们的虚拟环境名为haha_env,同样我们可以退出虚拟环境conda deactivate我们可以知道自己的虚拟环境有哪些:

2021-04-21 11:02:10 112

原创 安装dlib

直接使用pip install dlib会出错,因为确实c编译库下面提供三个方式安装:win:pip install cmakepip install dlibubuntu:apt-get install libboost-all-devapt-get install cmakepip install dlib也可以源码进行编译:安装参考链接:https://learnopencv.com/install-dlib-on-ubuntu/...

2021-04-21 10:55:45 84

原创 _validate_lengths‘ from ‘numpy.lib.arraypad

这个问题实际上是因为numpy版本较高导致的有两种解决方法,一个是降低numpy版本低于1.16,比如使用1.15版本的另外一个就是使用新版本里面的替代性的apifrom numpy.lib.arraypad import _validate_lengths修改成:from numpy.lib.arraypad import _as_pairs...

2021-04-21 10:45:45 227

原创 Google Cloud Storage使用python批量上传文件

加入我们有如下文件:1.zip2.zip3.zip4.zip5.zip6.zip7.zip8.zip需要将其上传至gcs简单的代码如下:from google.cloud import storagels=[]ls.append('1.zip')ls.append('2.zip')ls.append('3.zip')ls.append('4.zip')ls.append('5.zip')ls.append('6.zip')ls.append(

2021-04-13 20:32:20 649

原创 google cloud We are unable to connect to the VM on port 22. Learn more about possible causes of this

背景:由于自己在开启防火墙后,然后重启机器,机器重启后由于忘记设置开放端口号22,导致开机后出现解决方式:https://serverfault.com/questions/823564/google-cloud-unable-to-connect-to-the-vm-on-port-22照着做就行关机,然后点击实例,然后编辑,添加开机后的命令添加:保存后重新开机就行了...

2021-04-07 19:12:16 239

原创 一文搞懂赋值、浅拷贝和深拷贝之间的区别

背景:经常会有人问你深拷贝浅拷贝之间区别,听过多次,但是仍然不是很清楚到底区别在哪里本文因此做个实验,一文搞懂之间的区别假如有一个list为a,然后拷贝给b我们可以发现构造出一个新的list给了b,就这个例子看起来好像a和b是独立的,虽然实际上不是,后面会看到。我们想要得到一个一模一样的list,还可以使用赋值语句的方式:小结:我们可以看到,实际上赋值语句得到的是同一个list,只是使用变量a和b分别对其进行引用除了使用list()这样的构造的方式可以进行浅拷贝,实际上构造.

2021-04-07 18:46:13 676 1

原创 cv2实现浮雕的效果

先直接上一个效果图:实现思路:(1)获取灰色图像(2)将灰色图像得到反色图像(3)对反色图像进行高斯滤波(4)对灰色和高斯滤波后的图像进行叠加就能得到上面的效果具体代码如下:import cv2import numpy as npimg1=cv2.imread('123.jpg')h,w,c=img1.shapegray1=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)img2=np.zeros((h,w),dtype='uint8.

2021-04-05 21:23:44 85

原创 cv2进行反色操作

反色操作(invert_image)是将原始的像素值(origin_image)进行处理,是通过255减去原始像素:invert_image=255-origin_image因此可以使用cv2里面的cv2.addWeighted进行加权处理,具体代码如下:import cv2import numpy as npimg1=cv2.imread('123.jpg')h,w,c=img1.shapeimg2=np.zeros((h,w,c),dtype='uint8')invert_im

2021-04-05 09:04:19 1495 2

原创 使用cv2进行图像融合

加入我们有两张图,分别是这样:我们想要将第二个放置在第一个图上,直接贴图就是这样的:这样贴着,没啥意义,我们使用seamlessClone处理一下就会变得很好:看着自然很多了吧,上述的代码如下:import cv2import numpy as npb3=cv2.imread('b3.jpg')b2=cv2.imread('b2.jpg')#b1=cv2.resize(b1,(256,256))center_x=300center_y=500#no..

2021-04-02 18:50:01 902 2

原创 pytorch实现矩阵的逆

背景:本来pytorch是实现了逆矩阵的函数的,1.8之前是torch.inverse(),1.8是在torch.linalg.inv()反正就是实现了,按理来说不需要去手动实现这玩意但是,cuda不支持逆矩阵inverse,因此onnx当然也没实现inverse但是我们训练的模型需要移植到onnx甚至cuda就会变得很困难,甚至你想在pytorch里面使用model.half()进行半精度运算的时候,就会报错说,cuda不支持inverse因此,只能换个思路,自己实现这个算子,使用更为常见

2021-03-31 17:25:46 10651 6

FashionMNIST的jpg格式数据

FashionMNIST的jpg格式数据

2021-01-07

ma2banma.zip

cyclegan需要的数据集,可以用来训练马和斑马之间进行相互转换,就是斑马可以生成马,斑马也是可以生成马,这就是cyclegan干的活

2020-04-03

apple2orange.zip

这是cyclegan的数据集,可以用来训练苹果和橘子之间进行相互转换,就是橘子可以生成苹果,苹果也是可以生成橘子,这就是cyclegan干的活

2020-04-03

Roy Thomas Fielding博士论文REST(中文版)

Roy Thomas Fielding博士论文REST(中文版) Fielding将他对互联网软件的架构原则,定名为 REST,即Representational State Transfer的缩写。

2018-11-01

空空如也

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

TA关注的人

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