![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PyTorch
不要绝望总会慢慢变强
当你觉得整个世界都放弃了你,还有那几行代码值得你珍重!
展开
-
python读取nii数据
from nibabel.viewers import OrthoSlicer3Dfrom nibabel import nifti1import nibabel as nibfrom matplotlib import pylab as pltimport matplotlib# 文件名,nii或nii.gzv_filename = '/home/luoshiyong/pycode/pythonProject/venv/lits/volume-65.nii's_filename = '/h.原创 2021-03-10 00:06:14 · 2453 阅读 · 1 评论 -
全卷积网络FCN模型实现
1.数据集voc2012获取见https://blog.csdn.net/luoshiyong123/article/details/1111970392.FCN网络结构3.FCN特点 (1)摒弃了传统卷积网络最后的全连接层,使用全卷积代替,原文中卷积部分采用的VGG16(去掉全连接层)效果最好。(2)使用反卷积恢复图像原来尺寸,可以接受任意大小的输入图像,而不用要求所有的训练图像和测试图像具有同样的尺寸。 (3) 得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果..原创 2020-12-15 21:26:07 · 3222 阅读 · 2 评论 -
处理voc2012数据集_图像分割第一步
1.voc2012数据集介绍这是下载的voc2012数据集,上边一个是测试集,下边的是训练+验证VOCdevkit_train结构如下:注意该数据集不全是用来做图像分割的,也有目标检测等其他任务的。Annotations是保存每一张图片的xml信息,其中包含是否用来分割等选项,目标检测Xmin,Xmax,Ymin,Ymax等信息,此处我们用不到JPEGimages就是需要用到的图片SegmentationClass是语义分割的label,需要复制整个文件夹Segmenta原创 2020-12-15 12:19:16 · 1862 阅读 · 5 评论 -
Titanic数据集分析及kaggle提交
首先看到这个数据集脑海中就想到了学过的二分类问题,一共11个输入维度,一个输出维度(Survived),具体如下:咋一看就感觉passengerid和是否存活就没有关系,numpy.loadtxt无法读取带字符串的输入,这里我们用pandas读取数据分析一下import torch import pandas as pd import numpy as np from pandas import Series,DataFramedata_train = pd.read_csv("./原创 2020-09-16 15:50:10 · 863 阅读 · 0 评论 -
神经网络解决过拟合问题
1.惩罚性成本函数 惩罚性成本函数是在损失函数上加一个惩罚项,如下图所示,下图中加了一个权重的平方和,如果该系数很大,在训练过程中要得到最小损失,就必须要某些权重很小或者接近于0,所以可以达到减少网络的复杂度。2.dropout dropout就是指在神经网络训练过程中随机对于某些权重不更新,有助于防止网络对某条路径过度依赖3. Early stopping 在10个epoch过后测试一次对于测试...原创 2020-09-13 12:10:52 · 1294 阅读 · 2 评论 -
RNN训练文本
本文通过RNN学习hello->ohlol的规律1.处理字符因为字符不是数字,无法变成向量输入,所以必须将字符变成数字,这里用到了one-hot vector通过将字符变成对应的索引,然后将索引变成one-hot vector,将其作为RNN的输入,这里因为只有4个字母,所以输入维度为4这里要求第一个输出为0,第二个为h,第三个为l,所以这是一个多分类的问题,需要输出一个四维向量,每一维度表示为某个字母的概率这样我们的每一个输入Xi就是one-hot vector...原创 2020-09-09 22:54:15 · 548 阅读 · 0 评论 -
PyTorch训练MNIST数据集3
本文旨在探索各种不同的改变对于训练精确率的影响1.增加全连接层 原来的全连接层由320->10:self.f1 = torch.nn.Linear(320,10) 现在改为:每一个线性单元采用relu激活函数 self.f1 = torch.nn.Linear(320,160) self.f2 = torch.nn.Linear(160,80) self.f3 = torch.nn.Linear...原创 2020-09-07 20:56:12 · 345 阅读 · 0 评论 -
PyTorch训练MNIST数据集2
1.网络结构2.代码:import torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optimfrom matplotlib import pyplot as pltimport osimport s.原创 2020-09-07 17:17:37 · 2886 阅读 · 0 评论 -
pytorch训练MNIST数据集1
本文采用全连接网络对MNIST数据集进行训练,训练模型主要由五个线性单元和relu激活函数组成import torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optimimport osimport sys.原创 2020-09-06 22:47:40 · 533 阅读 · 0 评论 -
Pytorch中view的用法
//转自https://zhuanlan.zhihu.com/p/87856193?from_voters_page=true在pytorch中view函数的作用为重构张量的维度,相当于numpy中resize()的功能,但是用法可能不太一样。如下例所示>>> import torch>>> tt1=torch.tensor([-0.3623, -0.6115, 0.7283, 0.4699, 2.3261, 0.1599])>>>转载 2020-09-06 22:29:04 · 4036 阅读 · 0 评论 -
糖尿病数据集训练pytorch
import torchimport numpy as npfrom matplotlib import pyplot as plt#加载数据集xy = np.loadtxt('diabetes.csv',delimiter=',',dtype=np.float32)x_data = torch.from_numpy(xy[:,:-1])y_data = torch.from_numpy(xy[:,[-1]])#print(x_data)#建立模型class MyModel(torch..原创 2020-08-05 10:10:52 · 2152 阅读 · 4 评论 -
Dataset和DataLoader
import torchfrom torch.utils.data import Datasetfrom torch.utils.data import DataLoaderclass MyDataset(Dataset): def __init__(self): pass #根据index获取数据 def __getitem__(self,index): pass #获取数据集长度 def __len__(self): .原创 2020-08-02 20:04:36 · 158 阅读 · 0 评论 -
plt可视化
1.plot函数 函数功能:展现变量的趋势变化。调用签名:plt.plot(x_see, y_see, ls="-", lw=2, label="plot figure")x: x轴上的数值y: y轴上的数值ls:折线图的线条风格lw:折线图的线条宽度label:标记图内容的标签文本2.grid函数函数功能:绘制刻度线的网格线。调用签名:plt.grid(linestyle=":", color="r")linestyle:网格线的线条风格color:网格线.原创 2020-08-02 12:57:51 · 888 阅读 · 0 评论 -
饱和函数(sigmoid函数)
1.特征=======函数值有极限=======增函数=======饱和函数2.典型函数logistics函数(又称之sigmoid函数):其他函数:原创 2020-08-02 11:01:06 · 16447 阅读 · 3 评论 -
Pytorch实现线性回归
import torchfrom IPython import displayfrom matplotlib import pyplot as pltimport numpy as npimport random#准备数据x_data = torch.Tensor([[1.0],[2.0],[3.0]])y_data = torch.Tensor([[2.0],[4.0],[6.0]])#定义模型class LinearModel(torch.nn.Module): #相当于构.原创 2020-08-01 12:41:29 · 219 阅读 · 0 评论 -
torch.nn.Linear和torch.nn.MSELoss
1.torch.nn.Linear------计算y=ax+bin_features为输入维度out_features为输出维度bias为b的值2.torch.nn.MSELosssize_average为是最后loss加起来过后是否除以Nreduce----因为loss为张量,reduce为true表示将所有的lossi累加达到降维的目的...原创 2020-08-01 12:13:36 · 321 阅读 · 0 评论 -
梯度下降
梯度下降算法(gradient desent)以直线模型y=x*w为例数据集如下:xy122436cost(w)=(1N)∑n=1N(y^−y)2cost(w) = \left(\frac{1}{N}\right)\sum_{n=1}^N(\hat y-y)^2cost(w)=(N1)∑n=1N(y^−y)2梯度的方向一定是函数值上升的方向,最小值是0梯度下降公式:w=w−α∂cost∂ww = w - α\frac{\partial cost}{原创 2020-07-11 13:12:01 · 199 阅读 · 0 评论 -
PyTorch测试代码-cuda加速
import torch# 以下代码只有在PyTorch GPU版本上才会执行import timeprint(torch.__version__)print(torch.cuda.is_available())a = torch.randn(10000,1000)b = torch.randn(1000,2000)t0 = time.time()c = torch.matmul(a,b)t1 = time.time()print(a.device,t1-t0,c.norm(2)).原创 2020-07-09 10:07:16 · 7182 阅读 · 1 评论