Pytorch线性规划模型 学习笔记(一)
Pytorch线性规划模型 学习笔记(一)
Pytorch视频学习资料参考:《PyTorch深度学习实践》完结合集
Pytorch搭建神经网络的四大部分
1. 准备数据 Prepare dataset
准备数据包括数据的读取加载并转换为torch框架下识别的tensor格式,注意数据的dtype为float32格式
2. 设计模型 Design model using class
网络的基本框架部分,包括自定义的网络layer结构,注意维度的变换要一致,另外,该类中还应包括forward部分
3. 构建损失和优化器 Construct loss and optimizer
根据处理的问题和模型设置合适的损失,或自己构建损失函数。优化器为梯度下降的解决方案,可选择合适的优化器进行梯度下降
4. 重复训练 Training cycle
重复训练部分可以后续设置batchsize的大小,按batch进行随机梯度下降(此代码中暂无设置),注意优化器的清零迭代操作
数据部分
X.csv,y.csv链接: https://pan.baidu.com/s/1dJD8zBewCS86fRgv0nL7kQ 密码: 0us0
下载后与程序放置在同一文件夹下
代码部分
# import
import torch
import numpy as np
## 1. prepare dataset
x_data = 'X.csv'
y_data = 'y.csv'
x = np.loadtxt(x_data, delimiter=' ', dtype=np.float32)
y = np.loadtxt(y_data, delimiter=' ', dtype=np.float32).reshape(-1, 1)
x = torch.from_numpy(x[:, :])
y = torch.from_numpy(y[:, :])
print(y.shape)
print(x.shape)
## 2. design model using class
class LinearModel(torch.nn.Module):
def __init__(self):
super(LinearModel, self).__init__()
self.linear1 = torch.nn.Linear(10, 6)
self.linear2 = torch.nn.Linear(6, 6)
self.linear3 = torch.nn.Linear(6, 1)
self.sigmoid = torch.nn.Sigmoid()
def forward(self, x):
x = self.linear1(x)
x = self.linear2(x)
x = self.linear3(x)
x = self.sigmoid(x)
return x
model = LinearModel()
## 3. construct loss and optimizer
criterion = torch.nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr = 0.01)
## 4. training cycle
for epoch in range(500):
y_hat = model(x)
loss = criterion(y_hat, y)
print('epoch', epoch, loss.item())
optimizer.zero_grad()
loss.backward()
optimizer.step()
Pytorch线性规划模型 学习笔记(一)的更多相关文章
- 概率图模型学习笔记:HMM、MEMM、CRF
作者:Scofield链接:https://www.zhihu.com/question/35866596/answer/236886066来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- NIO模型学习笔记
NIO模型学习笔记 简介 Non-blocking I/O 或New I/O 自JDK1.4开始使用 应用场景:高并发网络服务器支持 概念理解 模型:对事物共性的抽象 编程模型:对编程共性的抽象 BI ...
- LDA主题模型学习笔记5:C源代码理解
1.说明 本文对LDA原始论文的作者所提供的C代码中LDA的主要逻辑部分做凝视,原代码可在这里下载到:https://github.com/Blei-Lab/lda-c 这份代码实现论文<Lat ...
- GAN︱生成模型学习笔记(运行机制、NLP结合难点、应用案例、相关Paper)
我对GAN"生成对抗网络"(Generative Adversarial Networks)的看法: 前几天在公开课听了新加坡国立大学[机器学习与视觉实验室]负责人冯佳时博士在[硬 ...
- HMM模型学习笔记(前向算法实例)
HMM算法想必大家已经听说了好多次了,完全看公式一头雾水.但是HMM的基本理论其实很简单.因为HMM是马尔科夫链中的一种,只是它的状态不能直接被观察到,但是可以通过观察向量间接的反映出来,即每一个观察 ...
- Note | PyTorch官方教程学习笔记
目录 1. 快速入门PYTORCH 1.1. 什么是PyTorch 1.1.1. 基础概念 1.1.2. 与NumPy之间的桥梁 1.2. Autograd: Automatic Differenti ...
- 微软CodeDom模型学习笔记(全)
CodeDomProvider MSDN描述 CodeDomProvider可用于创建和检索代码生成器和代码编译器的实例.代码生成器可用于以特定的语言生成代码,而代码编译器可用于将代码编译为程序集. ...
- OSI七层模型学习笔记
1.简介 什么是OSI模型呢? OSI模型全名Open System InterConnect 即开放式系统互联,是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架, ...
- 深度学习在美团点评推荐平台排序中的应用&& wide&&deep推荐系统模型--学习笔记
写在前面:据说下周就要xxxxxxxx, 吓得本宝宝赶紧找些广告的东西看看 gbdt+lr的模型之前是知道怎么搞的,dnn+lr的模型也是知道的,但是都没有试验过 深度学习在美团点评推荐平台排序中的运 ...
随机推荐
- 【vue-09】axios
[vue-09]axios 文档:Axios中文文档 官网 为什么要使用axios 功能特点: 支持发送ajax异步 支持在NodeJs中发送ajax请求. 支持Promise 支持拦截器请求和响应 ...
- Access denied for user '电脑用户名'@'localhost'
之前没有碰到这个问题,但是这次从gitee上面拉取代码运行,发现存在bug 错误描述 java.sql.SQLException: Access denied for user '10134'@'lo ...
- 了解常用数据库MySQL、Oracle、MongoDB
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net 注:转载文章 什么是数据库 简单的说,数据库(英文 Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果( ...
- JAVA 面试相关
1. int和Integer有什么区别? 答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类 ...
- cms菜单栏二级折叠与交互解决方案(js)(1)
cms菜单栏二级解决方案(js) 在做一个cms系统的界面时,设计师并未指定二级菜单的交互,于是我就任意发挥,做了一个我自认为符合常规逻辑的方案 如下图 点击左上角收起按钮会收起 左侧菜单栏.中间栏左 ...
- SystemVerilog 编写FSM
SystemVerilog 编写FSM 题目 SystemVerilog实现 仿真 SystemVerilog 编写FSM 好书: https://github.com/yllinux/blogPic ...
- Ansible-入门使用方法
Ansible介绍 自动化运维工具,统一配置管理工具.自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率. ...
- Docker的镜像及容器常用操作(2)
一.docker镜像 镜像(docker image) --- Docker 运行容器之前需要本地存在镜像,若本能地不存在,那么 Docker 会找默认镜像仓库( Docker Hub 公共注册服务器 ...
- jmeter从安装到使用
最近,项目需要做接口测试,在python和jmeter之前选择,最终还是选择jmeter,虽然脚本管理及持续集成方面有所不便,但胜在使用简单,调试方便,方便后续做并发压力测试,而且最后的报告统计图表也 ...
- win10 启用Hyper-V并安装Ubuntu20.10
本文的最终目的是要将.netcore5.0(.net5.0)部署在Ubuntu中的docker容器中. 当前环境: 主系统:win10家庭版 虚拟机:Hyper-V (win10自带虚拟机) 虚拟机系 ...