tensor

Pytorch之线性回归

非 Y 不嫁゛ 提交于 2020-02-14 22:53:18
Pytorch之线性回归 线性回归原理 加载数据 feature = 2 samples = 1000 # 设置参数 true_w = [ 2 , - 3.4 ] true_b = 4.2 # 生成数据 data = t . randn ( samples , feature , dtype = t . float32 ) labels = true_w [ 0 ] * data [ : , 0 ] + true_w [ 1 ] * data [ : , 1 ] + true_b # 数据添加噪声 labels += t . tensor ( np . random . normal ( 0 , 0.01 , size = labels . size ( ) ) , dtype = t . float32 ) def data_iter ( batch_size , features , labels ) : """数据的读取""" num_examples = len ( features ) indices = list ( range ( num_examples ) ) # 打乱数据 random . shuffle ( indices ) for i in range ( 0 , num_examples , batch_size ) : # 取出索引值 j = t .

torch 中各种图像格式转化

你说的曾经没有我的故事 提交于 2020-02-14 21:35:04
PIL:使用python自带图像处理库读取出来的图片格式 numpy:使用python-opencv库读取出来的图片格式 tensor:pytorch中训练时所采取的向量格式(当然也可以说图片) import torch from PIL import Image import matplotlib.pyplot as plt # loader使用torchvision中自带的transforms函数 loader = transforms.Compose([ transforms.ToTensor()]) unloader = transforms.ToPILImage() # 输入图片地址 # 返回tensor变量 def image_loader(image_name): image = Image.open(image_name).convert('RGB') image = loader(image).unsqueeze(0)#用来满足网络的输入维度的假batch维度,即不足之处补0 return image.to(device, torch.float) # 输入PIL格式图片 # 返回tensor变量 def PIL_to_tensor(image): image = loader(image).unsqueeze(0) return image.to(device,

动手深度学习task2——softmax

假如想象 提交于 2020-02-14 20:22:05
softmax与分类模型 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lXrlQNpD-1581673070121)(attachment:image.png)] torchvision包主要用来构建计算机视觉模型。 1.torchvision.datasets: 一些加载数据的函数及常用的数据集接口 2.torchvision.models:包含常用的模型结构(包括预训练模型),例如AlexNet、VGG、ResNet等 3.torchvision.transforms:常见的图片变换,例如裁剪、旋转等 4.torchvision.utils:其他的一些有用的方法 # 获取数据集 import torch import torchvision import torchvision . transforms as transforms import matplotlib . pyplot as plt import time import sys sys . path . append ( ".." ) 获取Fashion-MNIST训练集和读取数据 我们通过torchvision的torchvision.datasets来下载这个数据集。第一次调用时会自动从网上获取数据。我们通过参数train来指定获取训练数据集或测试数据集。

打卡(一)

懵懂的女人 提交于 2020-02-14 17:44:15
线性回归 从零开始 生成/准备数据集 读取数据集 初始化模型参数 正态分布初始化:np.random.normal(loc(均值),scale(标准差),size(输出形状)) 全零初始化:np.zeros() 定义模型 torch.mm(矩阵相乘) torch.mul(点乘) 定义损失函数 均方损失函数 交叉熵损失函数 定义优化函数 小批量随机梯度下降,参数-学习率*梯度/batch_size 训练 前向传播 求损失 反向传播 优化参数 梯度清零 pytorch简介实现 Dataloader使用 import torch.utils.data as Data batch_size = 10 # combine featues and labels of dataset dataset = Data.TensorDataset(features, labels) # put dataset into DataLoader data_iter = Data.DataLoader( dataset=dataset, # torch TensorDataset format batch_size=batch_size, # mini batch size shuffle=True, # whether shuffle the data or not num_workers=2, #

线性回归

十年热恋 提交于 2020-02-14 11:07:41
线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 线性回归的基本要素 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: \[ \mathrm{price} = w_{\mathrm{area}} \cdot \mathrm{area} + w_{\mathrm{age}} \cdot \mathrm{age} + b \] 数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 损失函数 在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 它在评估索引为 \(i\) 的样本误差的表达式为 \[ l^{(i)}(\mathbf

变量的创建和初始化

那年仲夏 提交于 2020-02-13 03:04:03
变量的的创建、初始化、保存和加载 其实变量的作用在语言中相当,都有存储一些临时值的作用或者长久存储。在Tensorflow中当训练模型时,用变量来存储和更新参数。变量包含张量(Tensor)存放于内存的缓存区。建模时它们需要被明确地初始化,模型训练后它们必须被存储到磁盘。值可在之后模型训练和分析是被加载。 Variable类 tf.Variable.init(initial_value, trainable=True, collections=None, validate_shape=True, name=None) 创建一个带值的新变量initial_value initial_value:A Tensor或Python对象可转换为a Tensor.变量的初始值.必须具有指定的形状,除非 validate_shape设置为False. trainable:如果True,默认值也将该变量添加到图形集合GraphKeys.TRAINABLE_VARIABLES,该集合用作Optimizer类要使用的变量的默认列表 collections:图表集合键列表,新变量添加到这些集合中.默认为[GraphKeys.VARIABLES] validate_shape:如果False允许使用未知形状的值初始化变量,如果True,默认形状initial_value必须提供. name:变量的可选名称

pytorch-线性回归

蓝咒 提交于 2020-02-12 20:37:02
线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 线性回归的基本要素 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: p r i c e = w a r e a ⋅ a r e a + w a g e ⋅ a g e + b \mathrm{price} = w_{\mathrm{area}} \cdot \mathrm{area} + w_{\mathrm{age}} \cdot \mathrm{age} + b p r i c e = w a r e a ​ ⋅ a r e a + w a g e ​ ⋅ a g e + b 数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 损失函数 在模型训练中

Tensorflow从入门到精通之——Tensorflow基本操作

家住魔仙堡 提交于 2020-02-12 15:56:06
前边的章节介绍了什么是Tensorflow,本节将带大家真正走进Tensorflow的世界,学习Tensorflow一些基本的操作及使用方法。同时也欢迎大家关注我们的网站和系列教程: http://www.tensorflownews.com / ,学习更多的机器学习、深度学习的知识! Tensorflow是一种计算图模型,即用图的形式来表示运算过程的一种模型。Tensorflow程序一般分为图的构建和图的执行两个阶段。图的构建阶段也称为图的定义阶段,该过程会在图模型中定义所需的运算,每次运算的的结果以及原始的输入数据都可称为一个节点(operation ,缩写为op)。我们通过以下程序来说明图的构建过程: 程序2-1: 程序2-1定义了图的构建过程,“import tensorflow as tf”,是在python中导入tensorflow模块,并另起名为“tf”;接着定义了两个常量op,m1和m2,均为1*2的矩阵;最后将m1和m2的值作为输入创建一个矩阵加法op,并输出最后的结果result。 我们分析最终的输出结果可知,其并没有输出矩阵相加的结果,而是输出了一个包含三个属性的Tensor(Tensor的概念我们会在下一节中详细讲解,这里就不再赘述)。 以上过程便是图模型的构建阶段:只在图中定义所需要的运算,而没有去执行运算。我们可以用图2-1来表示: 图2-1

tensorflow中 tf.reduce_mean函数

痞子三分冷 提交于 2020-02-12 03:53:11
tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。 reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None) 第一个参数input_tensor: 输入的待降维的tensor; 第二个参数axis: 指定的轴,如果不指定,则计算所有元素的均值; 第三个参数keep_dims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度; 第四个参数name: 操作的名称; 第五个参数 reduction_indices:在以前版本中用来指定轴,已弃用; 以一个维度是2,形状是[2,3]的tensor举例: import tensorflow as tf x = [[1,2,3], [1,2,3]] xx = tf.cast(x,tf.float32) mean_all = tf.reduce_mean(xx, keep_dims=False) mean_0 = tf.reduce_mean(xx, axis=0, keep_dims=False) mean_1 = tf.reduce_mean(xx, axis

torch 的包应用

天涯浪子 提交于 2020-02-10 19:27:39
1.torchvision.transforms是pytorch中的图像预处理包一般用Compose把多个步骤整合到一起,比如说 transforms.Compose([transforms.CenterCrop(10), transforms.ToTensor(),]) 2.transforms中的函数 Resize:把给定的图片resize到given size; Normalize:Normalized an tensor image with mean and standard deviation; ToTensor:convert a PIL image to tensor (H*W*C) in range [0,255] to a torch.Tensor(C*H*W) in the range [0.0,1.0]; ToPILImage: convert a tensor to PIL imageScale:目前已经不用了,推荐用ResizeCenterCrop; ResizeCenterCrop:在图片的中间区域进行裁剪; RandomCrop:在一个随机的位置进行裁剪; RandomHorizontalFlip:以0.5的概率水平翻转给定的PIL图像; RandomVerticalFlip:以0.5的概率竖直翻转给定的PIL图像;