自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hxxjxw的博客

写了一天bug累了吧

原创 无监督学习

利用无标签的数据学习数据的分布或数据与数据之间的关系被称作无监督学习无监督学习是数据驱动的无监督学习最常应用的场景是聚类(clustering)和降维(DimensionReduction)无监督学习算法一.聚类(clustering) ①k-均值聚类(k-means) ②层次聚类(Hierarchical Clustering) ③基于密度聚类Mean Shift ④基于密度聚类DBSCAN ⑤高斯混合模...

2020-08-08 12:32:30 1

原创 半监督学习代码实战

sklearn官方例子——用半监督学习做数字识别什么是半监督学习半监督学习很重要,为什么呢?因为人工标注数据成本太高,现在大家参加比赛的数据都是标注好的了,那么如果老板给你一份没有标注的数据,而且有几百万条,让你做个分类什么的,你怎么办?不可能等标注好数据再去训练模型吧,所以你得会半监督学习算法。不过我在这里先打击大家一下,用sklearn的包做不了大数据量的半监督学习,我用的数据量大概在15000条以上就要报MemoryError错误了,这个是我最讨厌的错误。暂时我还没有解决的办法,如果..

2020-08-07 23:17:25 6

原创 ubuntu安装Anaconda

下载Anacondachmod +xbash按q键,一直到最后yesenter等待安装yes装不装vscode no验证which pythonwhich pipwhich ipython

2020-08-07 10:31:50 25

原创 ubuntu装机后要做的事情

1sudo apt-get install smplayer

2020-08-07 10:08:02 13

原创 ubuntu安装tensorflow-gpu和pytorch-gpu

安装好anaconda后(我装的anaconda的base的python版本是3.8的,但没影响)安装tensorflow-gpuconda create -n tensorflow python=3.7conda activate tensorflowconda install tensorflow-gpu就好了这里默认的是安装tensorflow2.0安装tensorflow1.0conda create -n tensorflow1.0 python=..

2020-08-07 10:05:46 12

原创 ubuntu装错了anaconda3怎么办

只需要把~目录下的anaconda3目录删了,重新装即可亲测之前自己在安装的时候,有个该选yes的选了no,结果只有python3,没有python于是删了anaconda3目录,重新装的,就好了

2020-08-07 09:54:33 14

原创 ubuntu安装cuda和cudnn

http://www.linuxchn.com/archives/232

2020-08-06 18:29:47 16

原创 ubuntu安装chrome浏览器

1、打开chrome官网下载2、sudo dpkg -i google-chrome-stable_current_amd64.deb

2020-08-06 18:27:41 18

原创 Ubuntu安装nvidia显卡驱动

ubuntu18.04在安装cuda和cudnn之前要先安装nvidia显卡驱动,之前看某些不良教程没有装驱动就装了cuda,结果重启就进不去了,害得我只能重装了系统,哭............1、屏蔽开源驱动nouveausudo gedit /etc/modprobe.d/blacklist.conf加参数到最底下回车另起一行内容为blacklist nouveauoptions nouveau modeset=0保存再终端更新内核命令sudo update-in..

2020-08-06 10:20:36 45

原创 Ubuntu双系统安装

准备安装ubuntu18.04+Win10双系统接上篇制作好启动盘之后关机开机,然后按F12选linpus,回车按字母e在quiet前面加nomodeset然后按F10就进来了双击install安装语言选好继续先不连接wifi后面一路继续就可以装好了下面放几张安装过程中拍的图...

2020-08-06 09:18:43 26

原创 Ubuntu系统启动盘制作

ubuntu18.04首先下好ubuntu镜像,准备一个U盘,清空所有数据下载rufus制作过程完成之后

2020-08-06 08:59:01 23

原创 双系统计算机删除Ubuntu系统

电脑是ubuntu18.04+win10双系统的下载diskgenius

2020-08-06 08:54:19 18

原创 DQN实战(三)——CartPole(keras)

使用OpenAI-Gym中的CartPoletensorflow1.13.1keras2.2.4import numpy as npimport gymimport matplotlib.pyplot as pltfrom keras.models import Sequentialfrom keras.layers import Dense, Activation, Flattenfrom keras.optimizers import Adamfrom rl.age..

2020-08-05 09:25:13 31

原创 DQN实战(二)——T-Rex Rush Chrome恐龙小游戏(pytorch)

代码见参考:Charles的皮卡丘

2020-08-05 08:58:59 50

原创 Theano

Theano也是一个神经网络的python机器学习模块,是最早的深度学习框架和tensorflow非常类似,甚至可以说是tensorflow的鼻祖,tensorflow基于Theano进行了很多的升级改进为什么用Theano?1)Tensowflow 目前只能在 MacOS 和 Linux, theano 不仅可以在前两个系统中运行, 还可以在 Windows 系统下运行。2)Theano 可以使用 GPU 进行运算,用GPU运行比CPU快100倍左右,theano 是比较优秀的 p..

2020-08-04 15:45:51 23

原创 OpenAI Gym

OpenAI Gym 是一个用于开发和比较强化学习算法的工具包,它包括一系列不断增长、完善的环境(如 simulated robots及Atari),还提供了可以用于比较和评估算法的 平台。与其他的数值计算库兼容,如tensorflow 或者theano 库。现在主要支持的是Python 语言,以后将支持其他语言。OpenAI Gym 提供了多种环境,比如 Atari、棋盘游戏以及 2D 或 3D 游戏引擎等。在 Windows 上的最小安装只支持算法基本环境,如 toy_text 和 classic.

2020-08-04 14:45:10 37

原创 DQN实战(一)——二维迷宫(tensorflow)

还是基于熟悉的迷宫环境算法整个算法乍看起来很复杂, 不过我们拆分一下, 就变简单了. 也就是个 Q learning 主框架上加了些装饰.这些装饰包括:记忆库 (用于重复学习) 神经网络计算 Q 值 暂时冻结q_target参数 (切断相关性)代码见https://github.com/skyerhxx/DQN参考:莫烦pythonhttps://morvanzhou.github.io/tutorials/machi...

2020-08-04 11:28:41 31

原创 强化学习(二) —— DQN深度强化学习网络

DQN,DeepQ Network, 是融合了Q-learning和神经网络的方法传统Q-learning的瓶颈使用Q-table这样一个表格来存储state和action的Q值,在复杂的情境下,状态可以多到比天上的星星还要多,如果全用表格来存储,计算机是存储不下的。并且在如此巨大的表格中搜索对应状态也是一种很耗时的事情不过神经网络对这类事情很在行,我们将状态和动作当作神经网络的输入值,经过神经网络分析后,得到动作的Q值,这样我们就不需要用表格记录Q值了我们也可以只输入状...

2020-08-03 22:55:53 2

原创 强化学习(零)—— 强化学习算法汇总(基于概率 & 基于价值 & 在线学习 & 离线学习)

强化学习 强化学习让计算机实现从一开始什么都不懂,一点想法都没有,通过不断地尝试,从错误中学习,更新自己的行为准则,最后找到规律,学习到达到目标的方法监督学习有label强化学习一开始并没有数据和标签,需要通过一次次在环境中尝试,获取这些数据和标签强化学习的算法①通过价值选行为Q-learning Sarsa Deep Q Network(DQN网络)②直接选行为Policy Gradients③想象环境并从中学习Mode...

2020-08-03 22:15:56 36

原创 Q-learning实战(二)——二维迷宫

黄色的是宝藏,走到就会得到reward=1黑色是黑洞,走到就会reward=-1maz_env.py是整个迷宫环境的程序,用的tkinter代码见https://github.com/skyerhxx/Q-learning-maze项目结构参考莫烦python...

2020-08-03 21:16:25 3

原创 Q-learning实战(一) —— 一维寻宝

Q-learning的简单实现效果就是建立Q-tableimport numpy as npimport pandas as pdimport timenp.random.seed(2)N_STATES = 6 #多少种状态 也就是最开始的距离离宝藏的距离有多少步ACTIONS = ['left','right'] #动作EPSILON = 0.9 #greedy policyALPHA = 0.1 #学习率LAMBDA = 0.9 #未来奖励的衰减因子..

2020-08-03 17:34:35 29

原创 强化学习(一) —— Q-learning

Q-learning算法中有两个重要术语:状态(state)和行为(action)引入我们做事情都会有一个自己的行为准则,比如小时候爸妈常说不写完作业就不准看电视所以我们在写作业的这种状态下,好的行为准则就是继续写作业,直到写完它,我们就可以继续得到奖励而如果没有写完作业就去跑去看电视,被爸妈发现后,后果很严重Q-learning和我们这种情况类似,也是一个决策过程假设我们现在处于写作业状态,而且我们以前并没有尝试过写作业的时候看电视。所以现在我们有了两种选择①继续..

2020-08-03 16:30:56 8

原创 NLP自然语言处理(十) —— 聊天机器人发展方向 & SeqGAN模型

聊天机器人模型技术发展方向 主流还是Seq2Seq + Attention GAN对抗生成网络 DQN深度强化学习网络 GNN图神经网络SeqGAN模型

2020-08-02 22:50:15 11

原创 NLP的Glove模型

Glove模型Glove是NLP中和Word2Vec并列的一个词向量模型,它来自斯坦福的一篇论文,GloVe全称应该是GlobalVectors for Word RepresentationGloVe模型是一种词向量分布表示模型,是一种无监督学习算法。总体上看,GloVe模型是一种对“词-词”矩阵进行分解从而得到词表示的方法Glove模型是基于语料库构建词的共现矩阵,然后基于共现矩阵和GloVe模型对词汇进行向量化表示共现矩阵Glove 和 wo...

2020-08-02 20:43:38 34

原创 GAN的MNIST数据集实战

import argparseimport osimport numpy as npimport mathimport torchvision.transforms as transformsfrom torchvision.utils import save_imagefrom torch.utils.data import DataLoaderfrom torchvision import datasetsfrom torch.autograd import Variable..

2020-08-02 10:23:15 33

原创 神经网络风格迁移实战(pytorch)

1

2020-08-01 22:13:20 28

原创 神经网络风格迁移

神经网络风格迁移用到预训练的vgg网络来作为提取特征损失函数需要构造一个损失函数,让算法知道要优化的目标步骤注意操作都是针对每一个像素来进行的格拉姆矩阵对于卷积核提取的特征之间是什么关系呢他们之间会同时出现吗把绿色通道拿出来(反映橙色特征),把红色通道拿出来(反映竖直条纹特征)都拉平为长向量然后两个向量点乘,结果越大表示二者相关性越多,即约有可能出现竖直橙色条纹那如果把256个通道,两两都计算出其相关性呢求得这...

2020-08-01 22:10:11 17

原创 pytorch输出网络结构各层 & _modules.items()/model.modules()/model.children()

建立了模型对象后直接打印模型就会输出它的比较完整的层 net = Net() print(net)net模型还没有使用sequential结构from torch import nnfrom torch.nn import functional as Ffrom torchvision import modelsclass Net(nn.Module): def __init__(self): super(Net, self).__...

2020-08-01 21:32:31 38

原创 Dropout

dropout字面意思就是“丢掉”,是为了防止神经网络出现过拟合,让隐藏层的节点在每次迭代时(包括正向和反向传播)有一定几率(keep-prob)失效即就比如这样可以认出来这样依然可以一般情况,dropout rate 设为0.3-0.5即可...

2020-08-01 10:53:18 32

原创 pytorch的 model.train和model.eval

使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/evalmodel.train()启用 BatchNormalization 和 Dropoutmodel.eval()不启用 BatchNormalization 和 Dropout训练完train_datasets之后,model要来测试样本了。在model(test_datasets)之前,需要加上model.eval(). 否则的话,有输入数据,即使不训练,它也会改变权值。这是model...

2020-08-01 09:46:57 31

原创 pytorch的requires_grad

在pytorch中,所有的tensor有一个requires_grad参数,如果设置为True,则反向传播时,该tensor就会自动求导。tensor的requires_grad的属性默认为Falserequires_grad被用于说明当前量是否需要在计算中保留对应的梯度信息...

2020-08-01 09:44:56 68

原创 深度学习/机器学习之训练集、验证集和测试集的意义

在训练模型的过程中,数据预计可以划分为训练集(train)、验证集(validation)和测试集(test)实际应用中,一般只将数据集分成两类,即training set 和test set,大多数文章并不涉及validation set。验证集的作用training set是用来训练模型或确定模型参数的,如ANN中权值等;validation set是用来做模型选择(model selection),即做模型的最终优化及确定的,如ANN的结构;test set则纯粹是为了测试..

2020-08-01 09:14:46 40

原创 Elasticsearch(四)—— 映射mapping

映射就是当我们创建索引的时候,可以预先定义字段的类型以及相关属性 Elasticsearch会根据JSON源数据的基础类型猜测你想要的字段映射。将输入的数据转变成可搜索的索引项。Mapping就是我们自己定义的字段的数据类型,同时告诉Elasticsearch如何索引数据以及是否可以被搜索。...

2020-08-01 08:52:28 20

原创 困惑度PPL (perplexity)

PPL是用在自然语言处理领域(NLP)中,衡量语言模型好坏的指标。它主要是根据每个词来估计一句话出现的概率,并用句子长度作normalize。 PPL越小越好公式为:S – 当前句子;N – 句子长度;p(wi) – 第i个词的概率p(wi|w1w2w3…wi-1) – 这个表示基于前i-1个词,计算得出第i个词的概率,但有的语言模型是可以利用双向的,不知道是不是会这样计算:p(wi|w1w2w3…wn) ;ppl越小,p(wi)则越大,也就是说这...

2020-07-31 22:22:21 35

原创 以全连接网络MNIST识别为例的模型参数保存与加载

以https://blog.csdn.net/hxxjxw/article/details/105667269 为例源代码,运行后会生成fcnet.pth保存网络参数import torchimport torchvisionfrom torch import nnfrom torch.nn import functional as Ffrom torch import optimfrom utils import plot_image,plot_curve,one_ho...

2020-07-31 17:12:30 31

原创 pytorch保存和加载模型

pytorch保存模型的方式有两种 ①将整个网络都都保存下来 保存整个神经网络的的结构信息和模型参数信息,save的对象是网络net ②仅保存和加载模型参数(推荐使用这样的方法) 只保存神经网络的训练模型参数,save的对象是net.state_dict()加载方式①加载模型时通过torch.load('.pth')直接初始化新的神经网络对象②需要首先导入对应的网络,再通过net.load_state_dict(to...

2020-07-31 17:08:48 22

原创 显示神经网络模型的参数(w,b等) —— named_parameters()

net = Net()#k,v就分别是w和bfor k, v in net.named_parameters(): print(k,v)效果可见这里https://blog.csdn.net/hxxjxw/article/details/105667269model.state_dict()、model.parameters()、model.named_parameters()这三个方法都可以查看Module的参数信息,用于更新参数,或者用于模型的保存。...

2020-07-31 16:53:40 36

原创 torch.argmax()

torch.argmax()函数中dim表示该维度会消失。然后另一维度保留下来的是每一行/列最大的行/列标号dim的不同值表示不同维度。特别的在dim=0表示二维中的列,dim=1在二维矩阵中表示行因此,我们想要求每一行最大的列标号,我们就要指定dim=1,表示我们不要列了,保留行的size就可以了。假如我们想求每一列的最大行标,就可以指定dim=0,表示我们不要行了。...

2020-07-31 15:15:53 51

原创 from xxx import xxx 和 import xxx的区别

两个import语义有差异import datetimeprint(datetime.datetime.now())是引入整个datetime包from datetime import datetimeprint(datetime.now())是只引入datetime包里的datetime类所以import之后前者是datetime这个包可见,后者是datetime.datetime这个类可见。...

2020-07-31 10:59:49 18

原创 超参数(Hyperparameter)

在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据,如迭代次数epoch、隐藏层的层数、每层神经元的个数、学习速率lr等。是根据经验进行设定的,他们的取值会影响到权重w和偏置b的大小 通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。...

2020-07-31 10:27:29 30

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