机器学习
机器学习
菜鸟向前冲fighting
莫听穿林打叶声,何妨吟啸且徐行。
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
展开
-
PyTorch中nn.Module理解
nn.Module是Pytorch封装的一个类,是搭建神经网络时需要继承的父类:import torchimport torch.nn as nn# 括号中加入nn.Module(父类)。Test2变成子类,继承父类(nn.Module)的所有特性。class Test2(nn.Module): def __init__(self): # Test2类定义初始化方法 super(Test2, self).__init__() # 父类初始化 sel..原创 2021-03-17 21:23:13 · 1841 阅读 · 0 评论 -
PyTorch冻结已训练网络参数
在训练多层神经网络中,我们发现由于网络参数过多,网络收敛的条件有点苛刻。因此,分层训练的方式在日常生活中常常被用到。所谓的分层训练,顾名思义,即多层网络中,我们先训练好第一层网络,固定其参数,去训练第二层网络,当第二层网络训练完毕,就固定前两层参数,去训练第三层网络,以此类推。下面展现代码的实现方式。# 网络模型class Test(torch.nn.Module): def __init__(self,): super(TwISTA, self).__init__() .原创 2020-12-24 10:27:58 · 3962 阅读 · 0 评论 -
PyTorch 训练 MNIST 数据集(含验证集)
1. 本地创建文件夹保存数据集from pathlib import Pathimport requestspathlib库在python3.4以后是python的内置库, Python 文档给它的定义是 Object-oriented filesystem paths(面向对象的文件系统路径),基本上可以代替os.path来处理路径。# 指定路径,如果没有,就建一个文件夹DATA_PATH = Path(r"D:\\data666")PATH = DATA_PATH / "minist".原创 2020-07-24 01:13:12 · 4615 阅读 · 0 评论 -
PyTorch 小功能之 TensorDataset
from torch.utils.data import TensorDatasetimport torcha = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])b = torch.tensor([44, 55, 66])train_ids = TensorDataset(a, b) for x_train, y_label in train_ids: print(x_train, y_label)运行结果:tensor([1, 2.原创 2020-07-23 09:34:17 · 26019 阅读 · 21 评论 -
EmbeddingRNN
RNN–Embedding and Linear Layer目标网络总体框架import torchidx2char = ['e', 'h', 'l', 'o']x_data = [[1, 0, 2, 2, 3]] # The input sequence is 'hello' (batch, seq_len),不同于charater_testRNN 和 BasicRNN 中的方式y_data = [3, 1, 2, 3, 2] # The output sequence i原创 2020-07-17 22:23:09 · 473 阅读 · 0 评论 -
EmbeddingLayers
Encodingsentence = "the quick brown fox jumped over the lazy dog"words = sentence.split(' ') # 分词print(words)运行结果['the', 'quick', 'brown', 'fox', 'jumped', 'over', 'the', 'lazy', 'dog']注:set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。x = se.原创 2020-07-17 22:14:45 · 379 阅读 · 0 评论 -
RNN实现字符排序
RNN实现字符排序目标:原理循环神经网络中,激活函数 tanh 比较常用,因为 tanh∈\in∈[-1, 1]1. RNNCellimport torchfrom torch.nn.functional import one_hot1.1 数据预处理把字符编码成 one-hot 编码input_size = 4 # [1, 0, 0, 0]hidden_size = 4batch_size = 1 # 一个样本idx2char = ['e', 'h', 'l'.原创 2020-07-17 21:37:15 · 494 阅读 · 0 评论 -
记录Word Embedding 介绍比较好的两篇博客
Word Embedding的发展和原理简介: https://www.jianshu.com/p/2a76b7d3126b/经常提到的Embedding层有什么用?: https://www.jiqizhixin.com/articles/2019-03-27-7原创 2020-07-07 22:21:24 · 170 阅读 · 0 评论 -
GoogLenet—Inception Module的 PyTorch 实现
Inception Moduleimport torchimport torch.nn as nnfrom torch.utils.data import DataLoaderfrom torchvision import transformsfrom torchvision import datasets # 放置了许多常用数据集,包括手写数字识别import torch.nn.functional as F数据预处理transform = transforms.Compose([原创 2020-06-16 16:37:28 · 396 阅读 · 0 评论 -
残差网络理论+CNN在MNIST数字识别实现
CNN中残差网络的使用K. He, X. Zhang, S. Ren and J. Sun, “Deep Residual Learning for Image Recognition,” in 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016 pp. 770-778.doi: 10.1109/CVPR.2016.90创新点:残差网络依旧让非线形原创 2020-06-15 15:01:29 · 1542 阅读 · 0 评论 -
1×1卷积核的简单讲解
1×1卷积核主要功能是改变通道数目,致使减少计算量。在使用1×1卷积核的过程中,不改变原始图片的宽度和高度,它只是改变了通道数。它同时对原始图片的所有信道进行卷积,融合成一个值,如下图所示:上图是一个图片的三个通道,通过 1×1卷积核,形成了与原始图片相同高与宽图片,只是通道变为了 1 的 features map,1×1卷积之后的值,如下所示:以下图为例,我们可以考到,计算量明显减少。...原创 2020-06-12 10:01:48 · 8378 阅读 · 0 评论 -
DataLoader 加载糖尿病数据集训练
DataLoader 加载糖尿病数据集训练import torchfrom torch.utils.data import Dataset # 抽象类,不能实例化,只能继承,然后构造自己数据from torch.utils.data import DataLoader # 加载数据,可以实例化import numpy as npclass DiabetesDataset(Dataset): # __init__中有两种选择 # 1.把所有数据data,都从init中加载出来.原创 2020-06-04 20:09:24 · 2826 阅读 · 4 评论 -
PyTorch手写数字MNIST识别(DNN)
Pytorch手写数字MNIST识别import torchfrom torch.utils.data import DataLoaderfrom torchvision import transformsfrom torchvision import datasets # 放置了许多常用数据集,包括手写数字识别import torch.nn.functional as F数据预处理transform = transforms.Compose([ transforms.ToTen.原创 2020-06-06 00:05:54 · 1518 阅读 · 0 评论 -
PyTorch手写数字MNIST识别(CNN)
Pytorch手写数字MNIST识别(CNN)import torchfrom torch.utils.data import DataLoaderfrom torchvision import transformsfrom torchvision import datasets # 放置了许多常用数据集,包括手写数字识别import torch.nn.functional as F数据预处理transform = transforms.Compose([ transforms原创 2020-06-07 23:22:30 · 471 阅读 · 0 评论 -
FizzBuzz分类问题
1.普通函数实现FizzBuzzimport torchdef fizz_buzz_encode(i): if i % 15 == 0: return 3 elif i % 5 == 0: return 2 elif i % 3 == 0: return 1 else: return 0 def fizz_buzz_decode(i, prediction):# 形成一个列表,str(i), 把原创 2020-06-03 15:24:41 · 551 阅读 · 0 评论 -
PyTorch小技巧
很多内容来源于网络,如有冒犯。私信删除文章目录Pytorch搭建网络问题1. 数据预处理1.1 归一化 (Normalization)1.2 标准化(Standardization)1.3 正则化1.4 Pytorch中常用张量操作1.4.1 torch.cat1.4.2 torch.stack1.4.3 round四舍五入操作1.4.4 Tensor()与tensor()1.4.5取分类输出...原创 2020-05-04 11:26:51 · 892 阅读 · 0 评论 -
李宏毅课程
李宏毅 深度学习预测模型函数不确定,好的预测模型函数,能够更好的进行预测,模型函数验证方法可参见第5条,下面给出两个模型函数的例子:y=w1x1+w2x2+w3x3+....+b1y=w_1x_1+w_2x_2+w_3x_3+....+b_1y=w1x1+w2x2+w3x3+....+b1y=w1x12+w2x22+w3x32+....+b2y=w_1x_1^2+w...原创 2020-04-15 23:28:49 · 336 阅读 · 0 评论 -
numpy()实现两层的神经网络
文章目录1.numpy()实现两层的神经网络2.pytorch的实现方式2.1方法一2.2方法二2.3方法三2.4方法四2.5方法五1.numpy()实现两层的神经网络import numpy as npN, D_in, H, D_out = 64, 1000, 100, 10x = np.random.randn(N, D_in)y = np.random.randn(N, D_o...原创 2020-03-29 22:05:05 · 702 阅读 · 0 评论 -
超参数的设定
文章目录超参数的设定1.权重初始化。2. η\etaη 值的选取3.规范化参数4.小批量数据大小(minibatch)5.总结超参数的设定1.权重初始化。创建神经网络之后,我们需要进行权重和偏置的初始化。之前的方式就是根据独立高斯随机变量来选择权重和偏置,其被归一化为均值为0,标准差1。上种方式获得了不错的效果。但有没有更好的方式。我们会使用均值为0,方差为1nin\frac{1}{\...原创 2020-02-17 15:41:12 · 1550 阅读 · 0 评论 -
透彻讲解卷积神经网络CNN
卷积神经网络(CNN)上图是一个典型的卷积神经网络,主要由卷积层、全连接层构成。卷积层主要包括特征提取、池化,下面也将进行介绍。我们知道计算机对颜色没有任何感知能力,任何图片在计算机看来都是一些数字,如下图所示。各种彩色的图片也是有RGB三种颜色不同的比例调和而成。他们本质上都是些数值矩阵(map data)。灰度图片只有一个map data。而彩色图片相对麻烦些,需要分解成R、G、B三个通...原创 2020-01-15 10:55:00 · 543 阅读 · 0 评论 -
PyTorch使用注意事项
文章目录pytorch使用注意事项1. Numpy与Tensor相互转换2. 梯度2.1 设置梯度2.2 禁止autograd进行计算2.3 梯度累加2.4 梯度传值3. 线性回归pytorch使用注意事项1. Numpy与Tensor相互转换2. 梯度2.1 设置梯度可以使用以下两种方式设置梯度:#方法一x = torch.ones(2, 2, requires_grad=Tr...原创 2020-01-14 15:13:52 · 506 阅读 · 0 评论 -
常用激活函数代码+图像
文章目录常见激活函数1.ReLu函数2.Sigmoid函数3.tanh函数常见激活函数如下图所示,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数。引入激活函数是为了增加神经网络模型的非线性。没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。%matplotlib inlineimport torchimp...原创 2020-01-12 20:52:47 · 1739 阅读 · 0 评论 -
基于softmax回归的图像分类二
文章目录利用Pytorch框架实现softmax回归的图像分类1.导入基础包2.获取读取数据3.定义和初始化模型4.softmax和交叉熵损失函数5.定义优化算法6.训练模型7.预测利用Pytorch框架实现softmax回归的图像分类1.导入基础包import torchfrom torch import nnfrom torch.nn import initimport nump...原创 2020-01-12 14:56:42 · 1045 阅读 · 0 评论 -
图像分类数据集(FASHION-MNIST)
文章目录图像分类数据集(FASHION-MNIST)1.导入基础包2.下载训练数据集3.读取小批量数据图像分类数据集(FASHION-MNIST)1.导入基础包import torch#主要用来构建计算机视觉模型import torchvisionimport torchvision.transforms as transformsimport matplotlib.pyplot ...原创 2020-01-10 15:44:34 · 1900 阅读 · 4 评论 -
基于softmax回归的图像分类一
文章目录基于softmax回归的图像分类一1.导入基础包2.获取和读取数据3.初始化模型参数4.实现softmax运算5.定义模型6.定义损失函数7.计算分类准确率8.训练模型9.预测基于softmax回归的图像分类一1.导入基础包import torchimport torchvisionimport numpy as npimport torchvision.transforms ...原创 2020-01-11 16:46:43 · 2263 阅读 · 2 评论 -
线性回归二
文章目录利用Pytorch框架搭建线性回归网络1.导入基础包2.生成数据集3.读取数据4.定义模型4.1方法一:4.2方法二4.2.1写法一4.2.2写法二4.2.3写法三5.初始化模型参数6.定义优化算法7.训练模型利用Pytorch框架搭建线性回归网络1.导入基础包import torchimport numpy as npfrom matplotlib import pyplot ...原创 2020-01-10 09:48:11 · 435 阅读 · 0 评论 -
线性回归一
pytorch线性回归d21zh_pytorch.py#!/usr/bin/env python# coding: utf-8# In[10]:import torchfrom matplotlib import pyplot as pltfrom IPython import displayimport random#图片设置def use_svg_display(): ...原创 2019-12-04 20:32:11 · 400 阅读 · 0 评论 -
tensorflow2.0使用注意事项
tensorflow2.0使用注意事项1. 版本兼容问题使用较早版本的tensorflow版本语句,新版本不支持,如:tensorflow.Session()。新版本中可以使用兼容的解决方案:tensorflow.compat.v1.Session()compat.v1:表示兼容版本 1import tensorflow as tfprint(tf.__version__)...原创 2019-11-29 22:04:23 · 2080 阅读 · 3 评论 -
基于keras的手写数字识别
文章目录基础训练一:基于keras的手写数字识别1. 导入相关包2. 下载数据集3. 处理数据以便神经网络识别4. 配置网络基本参数5. 网络结构设置6. 编译-设置代价函数、梯度下降法、训练标准7. 启动训练网络8. 从x_test里取图看一看9. 预测x_test数据????10. 手工画图测试10.1 转化成灰度图像10.2 预测手工画图数据????基础训练一:基于keras的手写数字识别开发环境为...原创 2019-11-29 11:21:13 · 1130 阅读 · 0 评论 -
手工画图转化适合MNIST的灰度图像
手工画图转化适合MNIST的灰度图像因为电脑没有安装photoshop,所以用windows自带画图软件进行测试,相关配置如下图:但,通过此方法画出的图像是RGB三通道,需要先转化成与MNIST相同的灰度图像。相关方法可查看下面两篇博客: 图像处理库PIL中图像格式转换(一) 图像处理库PIL中图像格式转换(二)转化成灰度图像from PIL import Image,ImageO...原创 2019-11-28 23:06:17 · 1505 阅读 · 0 评论