自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MOL

  • 博客(36)
  • 收藏
  • 关注

原创 让老照片重现光彩(一):Bringing Old Photos Back to Life

作者开创性地使用了两个变分自动编码器(VAEs),分别将旧照片、干净照片映射到两个不同的潜码空间。这里,r 是真实的旧照片;(x, y) 是通过数据合成产生的配对数据集,y 是干净照片集,x 是由 y 退化而得到的破损照片集。将数据集 { r }、{ x }、{ y } 分别映射到潜码空间 Zr 、Zx、Zy 。{ r }、{ x } 都是破损照片集,可以强化某种约束使 Zr ≈ Zx (通过联合训练的对抗判别器 adversarial discriminator 来闭合其域间隔)。利用合成的数据对..

2021-05-29 20:27:58 16913

原创 python查看程序运行时间、查看每行代码运行的时间、line_profiler

if __name__ == "__main__": import datetime start = datetime.datetime.now() print("Start running time: %s" % start) main() end=datetime.datetime.now() print("End running time: %s" % end) print('Running time: %s Seconds'%(end-sta.

2021-05-28 09:46:00 20349

原创 tf.assign() 更新ref通过给它重新赋值

tf.assign()把value的值赋给ref,ref的值必须是Variable参数:tf.assign(ref, value, validate_shape=None, use_locking=None, name=None)使用案例:import tensorflow as tfx = tf.Variable(1)x = tf.assign(x, 2)sess = tf.Session()print(sess.run(x))Update `ref` by assignin

2021-05-26 15:35:35 16459

原创 tf.cast() 数据类型转换

tf.cast()函数的作用是执行 tensorflow 中张量数据类型转换,比如读入的图片如果是int8类型的,一般在要在训练前把图像的数据格式转换为float32。cast定义:cast(x, dtype, name=None)第一个参数 x:待转换的数据(张量)第二个参数 dtype: 目标数据类型第三个参数 name: 可选参数,定义操作的名称int32转换为float32:import tensorflow as tft1 = tf.Variable([1,2...

2021-05-26 15:03:50 16669

原创 tf.div()除法运算

使用Python 2的除法运算符语义对x / y元素进行除法。(弃用)tf.div(x, y,name=None)警告:不推荐使用此函数。它将在未来的版本中被删除。更新说明:不支持操作符或tf.math.divide。注意:最好使用遵循Python 3除法运算符语义的张量除法运算符或tf.divide。这个函数除x和y,强制使用Python 2语义。也就是说,如果x和y都是整数,那么结果就是整数。这与Python 3形成了对比,Python 3中使用/的除法总是浮点数,而使用//的除法总是整数。.

2021-05-26 14:59:44 17225

原创 线性插值(Linear Interpolation):线性插值、双线性插值

目录1.关于插值:2.线性插值:3.线性插值举例:4.双线性插值法1.关于插值:插值,是根据已知的数据序列(可以理解为你坐标中一系列离散的点),找到其中的规律,然后根据找到的这个规律,来对其中尚未有数据记录的点进行数值估计。应用有:1)对数据中的缺失进行合理补偿2)对数据进行放大或缩小2.线性插值:线性插值是针对一维数据的插值方法。它根据一维数据序列中需要插值的点的左右临近两个数据来进行数值估计。当然了它不是求这两个点数据大小的平均值(在中心点的时候就等于平均...

2021-05-25 19:18:03 54075

原创 python: x = y if z = c else t

img=[1,2,3,4,5]channels = img[4] if img[2] == 3 else 1# 相当于if img[2] == 3: channels=img[4]else: channels=1print(channels)5

2021-05-25 14:50:26 16525

原创 Python3 sorted() 与sort()函数

描述sorted()函数对所有可迭代的对象进行排序操作。sort 与 sorted 区别:sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。语法sorted 语法:sorted(iterable, key=None, reverse=False) 参数说明:iterable.

2021-05-25 11:07:13 16191

原创 tf.group()用于组合多个操作

tf.group()用于创造一个操作,可以将传入参数的所有操作进行分组。API手册如:tf.group( *inputs, **kwargs)ops = tf.group(tensor1, tensor2,...)其中*inputs是0个或者多个用于组合tensor,一旦ops完成了,那么传入的tensor1,tensor2,...等等都会完成了,经常用于组合一些训练节点,如在Cycle GAN中的多个训练节点,例子如:generator_train_op = tf.tr...

2021-05-25 10:19:40 16333

原创 fig,ax = plt.subplots()

它是用来创建总画布/figure“窗口”的,有figure就可以在上边(或其中一个子网格/subplot上)作图了,(fig:是figure的缩写)。fig, ax = plt.subplots(1,3),其中参数1和3分别代表子图的行数和列数,一共有 1x3个子图像。函数返回一个figure图像和子图ax的array列表。fig, ax = plt.subplots(1,3,1),最后一个参数1代表第一个子图。如果想要设置子图的宽度和高度可以在函数内加入figsize值:fig, ax = pl..

2021-05-25 08:52:28 23164

原创 torch.mul() 和 torch.mm() 区别【矩阵a和b对应位相乘/矩阵相乘】

torch.mul(a, b)是矩阵a和b对应位相乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1, 2),返回的仍是(1, 2)的矩阵torch.mm(a, b)是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵https://blog.csdn.net/Real_Brilliant/article/details/85756477...

2021-05-17 19:51:32 16348

原创 torch.flatten()函数

“推平” tensortorch.flatten(input, start_dim=0, end_dim=-1)input: 一个 tensor,即要被“推平”的 tensor。 start_dim: “推平”的起始维度。 end_dim:“推平”的结束维度。1)flatten(x,1)是按照x的第1个维度拼接(按照列来拼接,横向拼接);2)flatten(x,0)是按照x的第0个维度拼接(按照行来拼接,纵向拼接);3)有时候会遇到flatten里面有两个维度参数,flatten(.

2021-05-17 19:46:15 18211

原创 给图像添加噪声,高斯噪声、椒盐噪声

常见的噪声种类有:椒盐噪声、高斯噪声常见的去噪声方法有:均值滤波,中值滤波、高斯滤波import cv2 as cvimport numpy as npimport random as ra=cv.imread('img2_01.png')print(a.shape)cv.imshow('1',a)t1=cv.getTickCount()# ----------------------------椒盐噪声for i in range(a.shape[0]*a.shape[1]//

2021-05-16 19:33:32 17209

原创 数据预处理之独热编码(One-Hot编码)【会让特征之间的距离计算更加合理】

1.前言————————————————————————————————————————在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等。这些特征值并不是连续的,而是离散的,无序的。通常我们需要对其进行特征数字化。那什么是特征数字化呢?例子如下: 性别特征:["男","女"] 祖国特征:["中国","美国,"法国"] 运动特征:["足球","篮球","羽毛球","乒乓球"] 假如某个样本(某个人),他的特征是这样的["男"

2021-05-16 08:47:14 17407

原创 用于故障诊断的残差收缩网络

目录1. Introduction(介绍)2. Architecture of the DRSN(DRSN的架构)2.1 Soft thresholding(软阈值)2.2 Architecture of the Developed DRSN-CS(DRSN-CS的架构)2.3 Architecture of the Developed DRSN-CW(DRSN-CW的架构)4. Conclusion(结论)1. Introduction(介绍)本文主要是针对于判断机械传动系

2021-05-15 20:26:27 17194

原创 用torch.nn.Sequential()搭建神经网络模型

目录一、第一种方式(可以配合一些条件判断语句动态添加)二、第二种方式三、第三种方式torch.nn.Sequential是一个Sequential容器,模块将按照构造函数中传递的顺序添加到模块中。通俗的话说,就是根据自己的需求,把不同的函数组合成一个(小的)模块使用或者把组合的模块添加到自己的网络中。一、第一种方式(可以配合一些条件判断语句动态添加)模板——torch.nn.Sequential()的一个对象.add_module(name, module)。 name:某层次的名

2021-05-14 21:20:26 24960 5

原创 PyTorch存储和加载模型并查看参数,load_state_dict(),state_dict() + 使用多张GPU进行训练以及推理调用模型

# savetorch.save(model.state_dict(), PATH)# loadmodel = MyModel(*args, **kwargs)model.load_state_dict(torch.load(PATH))model.eval()model.state_dict()其实返回的是一个OrderDict,存储了网络结构的名字和对应的参数。在模型完成训练后,我们需要将训练好的模型保存为一个文件供测试使用,或者因为一些原因我们需要继续之前的状态训练之前保存的模型.

2021-05-14 17:07:33 23777

原创 VGG16网络,VGG19

前言VGG是Oxford的VisualGeometryGroup的组提出的(大家应该能看出VGG名字的由来了)。该网络是在ILSVRC 2014上的相关工作,主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,分别是VGG16和VGG19,两者并没有本质上的区别,只是网络深度不一样。VGG原理VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。对于给定的感受野(与输出有关的输入图片..

2021-05-14 15:53:42 18075

原创 Python 字典:普通字典(dict)、有序字典(OrderedDict)

Python 的基础数据类型中的字典类型分为:无序字典 与 有序字典 两种类型1.无序字典(普通字典)dict():输出:可以看见,遍历一个普通字典,返回的数据和定义字典时的字段顺序是不一致的2.有序字典 OrderedDict()输出:有序字典可以按字典中元素的插入顺序来输出。注意:有序字典的作用只是记住元素插入顺序并按顺序输出。如果有序字典中的元素一开始就定义好了,后面没有插入元素这一动作,那么遍历有序字典,其输出结果仍然是无序的,因为缺少了有序插入这一条

2021-05-14 15:17:21 17945 3

原创 感知损失(perceptual loss)详解

本文来自收费专栏:https://blog.csdn.net/nanhuaibeian/article/details/102668095目录一.感知损失二、Loss_feature三、Loss_style一.感知损失图中: 蓝线加黑线表示内容损失,作用在较低特征层上 红线和黑线表示风格损失,作用在从低到高所有特征层上这个结构和GAN较为相似左边是Transform Net: fw,起着条件生成器的作用, pix2pix GAN 的生成器就也...

2021-05-14 11:34:35 45662 6

原创 pycharm如何修改注释行字体及颜色

修改代码的注释行颜色:settings->Editor->Color Scheme->python

2021-05-11 20:14:19 18628

原创 epochs,batch_size,iterations详解

batch/batch_size深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch gradient descent,批梯度下降。另一种,每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降,stochastic gradient descent。这个方法速度比较快,但是收敛

2021-05-10 21:26:20 16392

原创 tf.keras.layers.Permute

更改维度的顺序,维度索引从1开始Permute:keras.layers.Permute(dims)根据给定的模式(dim)置换输入的维度。例如:model = Sequential()modle.add(Permute((2,1),input_shape=(10,64)))# 现在: model.output_shape == (None, 64,10)# “None"是batch的维度参数:dims: 整数元组,是置换模式,不包含样本维度,索引从1开始,例如(2,1)

2021-05-10 21:12:36 17934

原创 局部连接层(Locally-Connected Layer)

局部连接层(Locally-Connected Layer)locally-conv的概念来自传统ML中的模型初始化(随机树方法中每个图像的crop都对应特定的一棵树)。参数共享这个策略并不是每个场景下都合适的。有一些特定的场合,我们不能把图片上的这些窗口数据都视作作用等同的。(特别是当卷积神经网络的输入图像是一些明确的中心结构时候)  当图像局部相似匹配时,我们就应该期望在图片的不同位置学习到完全不同的特征。什么时候用local-conv?什么时候用全卷积(每一个点用同一个filter)?

2021-05-10 21:06:42 17294

原创 stylegan-encoder代码执行步骤和解释

目录(一)从图片中抽取并对齐人脸:(二)找到对齐人脸图片的latent表达:(三)从对齐的人脸头像提取特征码并生成StyleGAN头像:(四)用别人的特征码修饰你的照片特征码,并生成混合后的StyleGAN头像:在github.com 上有若干开源项目提供了源代码,我选用的开源项目是:pbaylies/stylegan-encoder,对应的网址是:https://github.com/pbaylies/stylegan-encoder他们把解决办法称之为“stochastic cl

2021-05-08 16:07:06 17737 5

原创 使用神经网络自动提取出它的特征码(1)

能不能给出一个目标图像,使用神经网络自动提取出它的特征码呢?如果可以,那么我们就可以方便地对这些图像进行编辑,创造出各种各样“酷炫”的风格人像。这个工作可以分为两步:(1)先利用StyleGAN生成的特征码和生成的人脸图像训练一个网络,把人脸图像作为输入,把特征码作为输出,理论上可以得到一个StyleGAN的逆向网络模型,如果训练成功的话,这个模型可以自动将人脸图像转换为特征码;(2)利用真实人脸图像对上面得到的模型进行进一步训练和“微调”,使之能够用于真实人脸的特征码提取。这篇文章先说明第一步的

2021-05-07 09:57:01 17598

原创 代码运行环境

pipinstallnumpy==1.16.0pipinstalltensorflow-gpu0==1.13.1pipinstallkeras==2.0.6并且报错module 'keras' has no attribute 'Model',则将tf.keras.Model改为tf.keras.models.Model

2021-05-07 08:51:01 16892

原创 三种方法可以使用StyleGAN预先训的生成器

(4)值得专门说明的一点是,有三种方法可以使用StyleGAN预先训的生成器:(4.1)使用Gs.run(),输入和输出均为numpy数组,这是一种最为简便的使用方法:# 选择特征向量rnd = np.random.RandomState(5)latents = rnd.randn(1, Gs.input_shape[1]) # 生成图像fmt = dict(func=tflib.convert_images_to_uint8, nchw_to_nhwc=True)images = G

2021-05-06 09:11:46 16806

原创 nchw_to_nhwc=True

将一堆二维张量拼接成三维张量的时候,默认的Chanel维度在首位;然而在TensorFlow中张量的默认Channel维度在末尾。因此有时需要将变量模式从NCHW转换为NHWC以匹配格式。缺省值就是默认值。是指一个属性、参数被修改前的初始值。详细:https://blog.csdn.net/thl789/article/details/109037433...

2021-05-06 08:38:07 16247

原创 pkl文件是什么?pickle.dump,pickle.load、为什么使用pkl文件、pickle

1.pkl文件是什么?pkl 格式的文件是 python 用于保存文件用的。本文的重点是怎么打开这类文件,请看大屏幕!博主之前呢也踩了个小坑呢,就是在打开文件的时候用的是 r,r 是用来打开文本类型文件的,我要打开的是二进制类型的文件,需要用 rb。因为文件呢主要分为这两种文本类型的和二进制类型。你在用的时候要看打开的文件是什么类型的,别用错了!# cPickle是python2系列用的,3系列已经不用了,直接用pickle就好了import pickle# 重点是rb和r的区别,.

2021-05-05 20:54:52 22574

原创 glob.glob() 函数

原文参考:https://blog.csdn.net/GeorgeAI/article/details/81035422此处的glob.glob搜素返回不定数目的文件,下面的len()确保一次只能加载一个pkl文件

2021-05-05 20:44:24 16406

原创 Jupyter notebook的正确打开方式

从命令行打开(推荐)windows徽标+R:打开“运行”窗口输入cmd:打开命令窗口用cd命令进入目标路径推荐:(或者直接在目标路径下:shift+右键,选择‘在此处打开cmd’打开命令窗口,就在当前路径下。)输入:jupyter notebook 回车,打开notebook这样就将notebook的路径改成我们想要的路径了。作者:马尔代夫Maldives链接:https://www.jianshu.com/p/3f0368249a53来源:简书著作权归作者所有。商业转载..

2021-05-03 19:59:27 20227

原创 np.stack()函数详解 ==>堆叠 【类似于torch.stack()】

目录1.来看看axis=0时,它是如何进行堆叠的:(按矩阵进行堆叠)2.再来看看axis=1的时候:(按行进行堆叠)3.当axis=2时(按列的的元素进行堆叠,先堆叠三个矩阵的第0个元素0,12,24,先堆叠三个矩阵的第1个元素1,13,25....)numpy.stack(arrays, axis=0)axis参数指定新轴在结果尺寸中的索引。例如,如果axis=0,它将是第一个维度,如果axis=-1,它将是最后一个维度。参数: 数组:array_like的序列每个数组必须具有相同

2021-05-03 17:06:23 17935 5

原创 The NVIDIA driver on your system is too old (found version 10000). Please update your GPU driver by

如果你正确的安装了torch和CUDA之间的对应关系,那么此时应该是你的显卡驱动太老,此时使用鲁大师驱动检测,升级显卡的版本重启后便可以成功.产生这个问题的原因是:显卡驱动版本和cuda版本不适合。解决方法就是,安装驱动对应的cuda,再安装对应的pytorch版本。其他几位都回答了pytorch版本和cuda版本的对应关系,但问题不在那里。显卡驱动和cuda版本对应关系如下:reference:https://www.zhihu.com/question/3...

2021-05-03 09:55:14 17263

原创 CUDA10.0+python3.6+pytorch1.2.0+torchvision0.4.0

https://blog.csdn.net/qq_38424674/article/details/109499015还需要安装torchvision-0.4.0-cp36-cp36m-win_amd64.whl以配合torch1.2.0https://download.pytorch.org/whl/cu100/torch_stable.html然后 pip install xxx.whl .....就可以啦检查是否可用import torch#返回当前设备索引p...

2021-05-02 20:55:01 16637

原创 StyleGAN 架构解读(重读StyleGAN)精【1】

StyleGAN 的前身——ProGAN上图是 ProGAN 的网络结构图。这项技术首先通过学习即使在低分辨率图像中也可以显示的基本特征,来创建图像的基本部分,并且随着分辨率的提高和时间的推移,学习越来越多的细节。低分辨率图像的训练不仅简单、快速,而且有助于更高级别的训练,因此,整体的训练也就更快。特别值得注意的是,上图 Generator 中的网络结构不是指的从 4*4 网络连接到 8*8 网 络,再连接到 16*16 网络依次输出,而是指的从 4*4 网络变化到 8*8 网络,再变化到 16

2021-05-01 17:11:30 54380 13

Zotero tags(action and tags for zotero)怎么使用

Zotero tags(action and tags for zotero)怎么使用

2024-09-03

图像生成中的“Classifer guidance、Classifer-free guidance”是什么?

图像生成中的“Classifer guidance、Classifer-free guidance”是什么?

2024-03-20

一文弄懂 Diffusion Model(DDPM)+ 代码实现

一文弄懂 Diffusion Model(DDPM)+ 代码实现

2024-03-02

AE(自动编码器)与VAE(变分自动编码器)的区别和联系?

PPT

2024-02-28

pycharm调整漂亮的颜色主题

pycharm调整漂亮的颜色主题

2024-01-12

pycharm调整漂亮的颜色主题

pycharm调整漂亮的颜色主题

2024-01-05

pycharm调整漂亮的颜色主题

pycharm调整漂亮的颜色主题

2024-01-05

pycharm调整漂亮的颜色主题

pycharm调整漂亮的颜色主题

2024-01-05

Endnote修改参考文献(References)的期刊全称为缩写

Endnote修改参考文献(References)的期刊全称为缩写

2023-12-09

Endnote修改参考文献(References)的期刊全称为缩写

Endnote修改参考文献(References)的期刊全称为缩写

2023-10-05

使用endnote编辑Nature Communication的参考文献格式

使用endnote编辑Nature Communication的参考文献格式

2023-09-06

pan assay interference compounds (PAINS)

pan assay interference compounds (PAINS)

2023-08-07

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

TA关注的人

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