自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(487)
  • 资源 (4)
  • 论坛 (1)
  • 收藏
  • 关注

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

moviepy.video.io.ImageSequenceClip.ImageSequenceClip

2021-06-20 15:16:35 3

原创 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 10

原创 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 24 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 130 2

原创 使用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 61

原创 使用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 37

原创 使用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 210

原创 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 161

原创 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 725 2

原创 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 26

原创 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 45

原创 使用半精度,提升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 174

原创 批量创建conda虚拟环境

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

2021-04-21 11:02:10 19

原创 安装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 19

原创 _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 13

原创 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 28

原创 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 34

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

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

2021-04-07 18:46:13 74 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 18

原创 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 126 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 57 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 615 1

原创 Ubuntu安装uwsgi

uwsgi的官方文档提供了三种安装方式:https://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html一般来说直接使用pip安装比较方便,但是安装过程可能会出错比如说这个错误:有人说是conda版本的问题,折腾了半天,实际上是gcc版本的问题,这里有人解决了https://blog.csdn.net/qq_23869697/article/details/89606575这个问题实际上是gcc版本过高,需要手动降低gcc

2021-03-30 14:03:19 85

原创 使用xshell链接google cloud

由于国内需要翻墙才能连接google cloud但是又想使用xshell这类工具进行连接连接之前需要在google cloud开启一个实例我们根据外部的ip对其进行连接,几经周折,终于可以连接了,反正试了直接使用密码的链接方式是不成功的,每次都会被服务器给拒绝连接,而且确认防火墙是对端口号22是开启的,心想22端口开启是不应该连不上的啊只能使用直接秘钥的方式进行连接,也测试成功了(1)使用xshell的工具生成秘钥,拿来给google cloud上进行注册点击下一步,下一步.

2021-03-25 15:33:47 50

原创 list转Tensor不同方式的速度对比

(1)纯list(list->tensor)import numpy as npimport torchimport timels=[ [ [ [1 for s in range(200)] for k in range(3)] for j in range(256)]for i in range(256)]st=time.time()torch.tensor(np.array(ls))print(time.time()-st)运行结果:1.764563560485839

2021-03-24 21:13:25 78

原创 torchscript保存模型和使用模型

torchscript作为pytorch的模型保留方式这里主要介绍3种类型:1.单变量输入x = torch.randn(1, 3, 256, 256, requires_grad=True).cuda()script_module = torch.jit.trace(model,x,strict=False)torch.jit.save(script_module, "model.pt")2.多个变量作为输入x1 = torch.randn(1, 3, 256, 256, re

2021-03-24 20:41:50 177

原创 使用gunicorn部署flask为并发模式

一般不会直接使用flask进行部署,因为扛不住高并发一般需要wsgi这里我是使用的gunicorn使用之前需要安装gunicornpip install gunicorn然后就可以试一下:root@zl:/opt# gunicorn -husage: gunicorn [OPTIONS] [APP_MODULE]optional arguments: -h, --help show this help message and exit -v,

2021-03-24 17:32:48 74 1

原创 win10上安装cynetworkx

直接使用pip installcynetworkx 安装会报错Looking in indexes: http://pypi.douban.com/simpleCollecting cynetworkx[all] Downloading http://pypi.doubanio.com/packages/71/2f/7c6f374a15de65b97bca520a15b06c2a1ae4753c5a9f7b3d6a759ab5af81/cynetworkx-2.2rc1.dev20180527.

2021-03-22 10:38:56 106

原创 ffmpeg编译cuda版

ffmpeg默认是使用cpu版的但是机器上有gpu,又不能不充分利用gpu进行加速安装之前需要准备其他环境:(1)cmakeapt install cmake(2)x265_2wget http://ftp.videolan.org/pub/videolan/x265/x265_2.6.tar.gztar -xvf x265_2.6.tar.gzcd x265_v2.6/build/linux/sh ./make-Makefiles.bashmakemake insta

2021-03-17 21:00:23 104

原创 Consider using a constant container instead (e.g. for `list`, use a `tuple` instead. for `dict`, us

使用torch.jit.trace导出模型时出现:RuntimeError: Encountering a dict at the output of the tracer might cause the trace to be incorrect, this is only valid if the container structure does not change based on the module's inputs. Consider using a constant container

2021-03-16 14:11:48 43

原创 Ubuntu能够ping通,但不能ssh登录

在虚拟机开启Ubuntu,但是却没法连接检查了ssh是否启动检查了22端口号检查了ping都没问题最后使用这个解决:ssh -v 服务器的ip输入yes回车,然后重新使用ssh连接工具就行

2021-03-11 09:40:37 238

原创 pytorch的dataloader没法进行迭代

说来也是很神奇,一般来说不管是自己定义是dataset还是自带的dataset的工具,加载进DataLoader后就变成可迭代的对象但是我确定dataset可以打印出来,加载DataLoader也没问题,但使用dataloader居然失败:from torch.utils.data import DataLoaderdataloader = DataLoader(dataset, batch_size=123, shuffle=True, num_workers=6, drop_last=Tru

2021-03-06 11:28:24 239

原创 enas算法讲解(通俗版)

enas全称是Efficient Neural Architecture Search解决了之前nas常规算法十分耗算力的瓶颈,具体主要是使用了权重共享,具体后面可以观察到。论文链接:https://arxiv.org/abs/1802.03268看论文,对enas算法的理解还是较为晦涩,于是打算写一下通俗的理解,方便认识enas其实说起来也很简单,看一下下面的流程图:注:下图的子网络我是随意画的,不一定能够构成网络。nas需要做的是对子网络进行选择,选出一个效果最好的子网络.

2021-02-27 14:55:49 239 1

原创 mindspore比pytorch快?是的

华为宣传说mindspore比pytorch快,说是加了自动微风,确实在mindspore中训练不需要自己写优化的过程,不过空说无凭,试验了一下,真的快一些这里拿mnist分类的例子做实验epoch选取了10和50mindspore:# -*- coding: utf-8 -*-import osimport timeimport mindspore.nn as nnfrom mindspore.common.initializer import Normalfrom minds

2021-02-25 14:14:35 328

原创 mindspore模型训练和模型导出为onnx

mindspore是华为深度学习框架,网址为:https://www.mindspore.cn/本代码主要参考快速入门的代码,加了模型导出为onnxmindspore在模型搭建上基本上的语法和pytorch差不多只是分为了网络和模型,模型主要拿来训练和预测,而网络就是单纯的网络,网络可以拿来导出模型文件,但是预测只能使用模型训练代码如下:# -*- coding: utf-8 -*-import osimport mindspore.nn as nnfrom mindspore.

2021-02-24 15:38:44 218 1

原创 nni的并发能够提高训练速度吗?不能

nni提供了设置并发的方式训练默认是等于1,这里设置成了2接下来对比了一下,并发数1和2的训练时间的差别并发数=1:可以看到是20多分钟就结束了,平均不到3分钟就可以训练一个trial然后当设置并发数=2:速度慢了很多,反而达不到加速的效果说明nni使用cpu,没法使用并发进行加速,起码在本地来说并发数=2我们看一下cpu运行状态不知道是不是计算是cpu资源不够用,亦或者是python对多线程支持很差的缘故反正要是在单机上运行cpu训练,最好不要...

2021-02-22 16:10:20 48

原创 利用nni实现nas(神经网络架构搜索)

当前深度学习的模型设计较为费事,有点玄学,不过,现在是可以进行向超参数一样,搜索出最优的模型架构,于是NAS就诞生了。自从有了nni以后,nas变得容易很多了,直接就可以进行搜索。不过,目前仅仅支持随机搜索和pponni这篇文章讲过如何使用nas下面的例子就演示随机搜索,ppo运行时间较长,这里就只展示随机搜索,ppo也亲测可行,和随机搜索一样,按照下面的过程就可以。等安装nni好并且下载nni的GitHub源码以后就能进行使用了,使用过程如下:(1)进入到nni源码的nas例..

2021-02-20 21:48:14 395

原创 自动机器学习框架nni的案例使用

nni是微软开源出来的一个自动机器学习框架可以使机器学习调参更加便利安装非常简单,使用pip就行pip install nni本次使用的是最新的版本,2.0不过此时并不能使用,因为会出现:https://github.com/microsoft/nni/issues/3276解决也很简单,直接将ruamel.yaml改成ruamel_yaml将下面路径下的内容进行编辑修改即可vim /opt/AN/lib/python3.7/site-packages/nni/too

2021-02-19 22:20:08 222

原创 dll文件使用python和c++调用

dll是Windows上的动态库文件,要想使用Python调用需要使用ctypes库这个测试的dll文件是只定义了一个函数add下面测试一下效果from ctypes import cdll_dll = cdll.LoadLibrary("./dllTest.dll")res = _dll.add(3,2)print(res)运行效果:...

2021-02-15 20:53:17 161 1

原创 pytorch实现unet

unet是非常经典的图像分割的网络实现起来不是很复杂,代码如下:# -*- coding: utf-8 -*-import torchimport torch.nn as nnclass unet(nn.Module): def __init__(self): super().__init__() #conv1 self.conv1=nn.Sequential( nn.Conv2d(1,64,3), n

2021-02-06 11:14:05 477

FashionMNIST的jpg格式数据

FashionMNIST的jpg格式数据

2021-01-07

apple2orange.zip

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

2020-04-03

ma2banma.zip

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

2020-04-03

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

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

2018-11-01

喝粥也会胖的唐僧的留言板

发表于 2020-01-02 最后回复 2020-02-10

空空如也

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

TA关注的人 TA的粉丝

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