pytorch Model Linear实现线性回归CUDA版本
实验代码
import torch
import torch.nn as nn #y = wx + b
class MyModel(nn.Module):
def __init__(self):
super(MyModel,self).__init__()
#自定义代码
# self.w = torch.rand([500,1],requires_grad=True)
# self.b = torch.tensor(0,dtype=torch.float,requires_grad=True)
# self.lr = nn.Linear(1,1)
self.lr1 = nn.Linear(1,10)
# self.lr2 = nn.Linear(10,20)
# self.lr3 = nn.Linear(20,1) def forward(self,x): #完成一次前项计算
# y_predict = x*self.w + self.b
# return y_predict
# return self.lr(x)
out1 = self.lr1(x)
# out2 = self.lr2(out1)
# out = self.lr3(out2)
return out1 if __name__ == '__main__':
model = MyModel()
# print(model.parameters())
for i in model.parameters():
print(i)
print("*"*100)
# y_predict = model(torch.FloatTensor([10]))
# print(y_predict)
Linear实现线性回归,cuda版本
import torch
import torch.nn as nn
from torch import optim device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") class MyModel(nn.Module):
def __init__(self):
super(MyModel,self).__init__()
self.lr = nn.Linear(1,1) def forward(self,x):
return self.lr(x) #准备数据 如果使用cuda,数据和模型需要to(device)
x = torch.rand([500,1]).to(device)
y_true = 3*x + 0.8
#实例化模型
model = MyModel().to(device)
#实例化优化器
optimizer = optim.Adam(model.parameters(),lr=0.1)
#实例化损失函数
loss_fn = nn.MSELoss() for i in range(500):
#梯度置零
optimizer.zero_grad()
#调用模型得到预测值
y_predict = model(x)
#损失函数,计算损失
loss = loss_fn(y_predict,y_true)
#反向传播计算梯度
loss.backward()
#更新参数
optimizer.step()
#打印部分数据
if i%10 ==0:
print(i,loss.item()) for param in model.parameters():
print(param.item())
pytorch Model Linear实现线性回归CUDA版本的更多相关文章
- 如何解决pytorch 编译时CUDA版本与运行时CUDA版本不对应
转载请注明: 仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/ 如何解决pytorch 编译时CUDA版本与运行时CUDA版本不对应 如果pytorch的编译时 ...
- [AI] 切换cuda版本的万金油
1. 环境 ubuntu16.04 GTX1080Ti x 4 nvidia-418 cuda-10.1 pytorch1.0.0 目标:在最新的显卡驱动下,使用不同版本的cuda和深度学习框架来执行 ...
- cmake编译opencv时指定cuda版本
之前有网友提问说,基于cmake编译时如果切换cuda版本,比如我同时装了cuda8和cuda9,opencv总是找到cuda9,我想用cuda8怎么办?实际上,手头上要配置的工程是基于opencv3 ...
- cuda 版本查阅
查看cuda版本 cat /usr/local/cuda/version.txt nvcc -V
- 矩池云里查看cuda版本
可以用下面的命令查看 cat /usr/local/cuda/version.txt 如果想用nvcc来查看可以用下面的命令 nvcc -V 如果环境内没有nvcc可以安装一下,教程是矩池云上如何安装 ...
- 矩池云上如何修改cuda版本
cuda版本可能对系统,驱动版本会有影响,修改之前需要先进行确认 1.检查系统版本 source /etc/os-release && echo $VERSION_ID 2.导入apt ...
- Pytorch实战1:线性回归(Linear Regresion)
GitHub代码练习地址:https://github.com/Neo-ML/MachineLearningPractice/blob/master/Pytorch01_LinearRegressio ...
- ubuntu查看安装的pytorch/cuda版本
使用命令: user@home:~$ python Python |Anaconda custom (-bit)| ( , ::) [GCC ] on linux Type "help&qu ...
- 动手学习pytorch——(1)线性回归
最近参加了伯禹教育的动手学习深度学习项目,现在对第一章(线性回归)部分进行一个总结. 这里从线性回归模型之从零开始的实现和使用pytorch的简洁两个部分进行总结. 损失函数,选取平方函数来评估误差, ...
随机推荐
- Linux下的ngnix安装与启动
Linux安装Nginx 1.安装gcc gcc-c++(如新环境,未安装请先安装)$ yum install -y gcc gcc-c++2.安装wget$ yum -y install wget ...
- ajax实现图片上传与进度条
这里使用的是bootstract的一个插件来实现 详情请查看文档中的进度条 https://v3.bootcss.com/components/ 引入必要的文件 <link href=" ...
- php _weakup()反序列化漏洞
概念&原理 序列化就是使用 serialize() 将对象用字符串的方式进行表示: 反序列化是使用 unserialize() 将序列化的字符串构造成相应的对象,为序列化的逆过程. 序列化的对 ...
- IEnumerable和IQueryable在使用时的区别
最近在调研数据库查询时因使用IEnumerable进行Linq to entity的操作,造成数据库访问缓慢.此文讲述的便是IEnumerable和IQueryable的区别. 微软对IEnumera ...
- Vue 里面对树状数组进行增删改查 的方法
[{"id":"5e4c3b02fc984961a17607c37712eae0", "optLock":0, "parentId ...
- linux中的文本处理命令
一.wc :统计文本的行数.字符数. -l:只显示行数 -d:只显示单词数 -c:只显示字符数 二.tr:转换字符或者删除字符 -d:删除字符 三.cut -d:指定分隔符 -f:指定要显示的字段 例 ...
- RedHat 6.7 使用 CentOS 6 的源
1. 移除 RedHat 相关软件包 # yum -y remove subscription-manager and rh-check # rpm -aq | grep yum | xargs rp ...
- Validation框架的应用
Validation框架的应用 一,前言 这篇博客只说一下Validation框架的应用,不涉及相关JSR,相关理论,以及源码的解析. 如果之后需要的话,会再开博客描写,这样会显得主题突出一些. 后续 ...
- Flask 和Django
软件系统发展到今天已经很复杂了,在服务端软件,设计的知识很广泛,为了降低开发难度,提高开发效率,在某些方面去使用别人成熟的框架. 一些事务处理,安全性,数据流控制等都可以让框架处理,而开发人员把更多的 ...
- Java调用ARM模板执行Azure Rest建立VM过程
Azure Resource Manager 提供一致的管理层,用于管理通过 Azure PowerShell.Azure CLI.Azure 门户.REST API 和开发工具执行的任务,所有工具使 ...