首页 > 其他分享 >第二章 2.3 使用Pytorch构建神经网络

第二章 2.3 使用Pytorch构建神经网络

时间:2024-12-12 14:35:18浏览次数:4  
标签:######################################################################## loss nn

 

 

# https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch
# https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch

###################  Chapter Two #######################################

import torch
import torch.nn as nn
########################################################################
x = [[1,2],[3,4],[5,6],[7,8]]
y = [[3],[7],[11],[15]]

X = torch.tensor(x).float()
Y = torch.tensor(y).float()
########################################################################
device = 'cuda' if torch.cuda.is_available() else 'cpu'
X = X.to(device)
Y = Y.to(device)
print(device)

########################################################################

class MyNeuralNet(nn.Module):
    def __init__(self):
        super().__init__()
        self.input_to_hidden_layer = nn.Linear(2,8)
        self.hidden_layer_activation = nn.ReLU()
        self.hidden_to_output_layer = nn.Linear(8,1)
    def forward(self, x):
        x = self.input_to_hidden_layer(x)
        x = self.hidden_layer_activation(x)
        x = self.hidden_to_output_layer(x)
        return x
########################################################################
mynet = MyNeuralNet().to(device)
########################################################################
loss_func = nn.MSELoss()

_Y = mynet(X)
loss_value = loss_func(_Y,Y)
print("损失值",loss_value)
########################################################################
from torch.optim import SGD
opt = SGD(mynet.parameters(), lr = 0.001)

########################################################################
loss_history = []
for _ in range(100):
    opt.zero_grad()
    loss_value = loss_func(mynet(X),Y)
    loss_value.backward()
    opt.step()
    loss_history.append(loss_value.item())
########################################################################
import matplotlib.pyplot as plt
#matplotlib inline
plt.plot(loss_history)
plt.title('Loss variation over increasing epochs')
plt.xlabel('epochs')
plt.ylabel('loss value')
plt.show()
########################################################################
_Y = mynet(X)
loss_value = loss_func(_Y,Y)
print("损失值",loss_value)

val_x = [[7,8]]
val_x = torch.tensor(val_x).float().to(device)
print("输入输出测试",mynet(val_x))

 

标签:########################################################################,loss,nn
From: https://www.cnblogs.com/excellentHellen/p/18602366

相关文章

  • 12.9实验五:BP 神经网络算法实现与测试
    实验五:BP神经网络算法实现与测试 一、实验目的深入理解BP神经网络的算法原理,能够使用Python语言实现BP神经网络的训练与测试,并且使用五折交叉验证算法进行模型训练与评估。 二、实验内容(1)从scikit-learn库中加载iris数据集,使用留出法留出1/3的样本作为测试集......
  • 《Pytorch 最全入门介绍,Pytorch入门看这一篇就够了》学习
    Pytorch最全入门介绍,Pytorch入门看这一篇就够了https://www.cnblogs.com/xfuture/p/17593872.html#5.1数据加载和预处理#首先,我们需要加载数据并进行预处理。我们将使用torchvision包来下载CIFAR10数据集,并使用transforms模块来对数据进行预处理。importtorchfromtor......
  • 部分代码: PyTorch计算机视觉实战:目标检测、图像处理与深度学习
     第一章#https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch#https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch###################ChapterOne#######################################importnumpyasnpfromco......
  • 第二章 2.3.1 定义数据集训练神经网络
    定义数据集训练神经网络#https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch#https://github.com/PacktPublishing/Modern-Computer-Vision-with-PyTorch###################ChapterTwo########################################数据集的库from......
  • 基于yolov8的车牌检测与识别系统,支持图像、视频和摄像实时检测【pytorch框架、python
       更多目标检测、图像分类识别、目标追踪等项目可看我主页其他文章功能演示:基于yolov8的车牌检测与识别系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】_哔哩哔哩_bilibili(一)简介基于yolov8的车牌检测与识别系统在pytorch框架下实现的,这是一个完整的项目......
  • 卷积神经网络
    整体架构输入层、卷积层、池化层、全连接层卷积做了一件什么事?我们有一张64*64的图像数据,首先是全连接神经网络(如下图所示),输入数据的特征是1×4096的特征向量,每增加一个中间层的神经元,就会增加(4096+1)个参数,神经元的个数增加到10个,则参数个数会增加到525706。针对全连接神经......
  • 神经网络入门之三 C环境部署
    此篇文章在2022年12月5日被记录入门神经网络三C环境部署为什么要部署到C环境上面两篇文章中,我们详细讲解了采集样本与样本训练,生成了一个模型文件,经过测试我们的模型成功率在90%以上,但是我们想将这个模型利用起来,实时检测我们的运动姿态,在ESP32上运行torch显然是不现实......
  • 神经网络入门之二 网络搭建
    此篇文章在2022年12月1日被记录入门神经网络二网络搭建使用哪种深度学习框架目前主流的神经网络框架有tensorflow、kears,国产的有百度的PaddlePaddle,但是我是从yolov5入坑的,yolov5官方代码使用的是pytorch框架,所以我使用torch,而且torch框架上手很简单,资源较多坑较少。......
  • 神经网络入门之一 搭建网络结构与数据采集
    此篇文章在2022年11月30日被记录转移这篇文章时,突然想到了为了采集样本在公司楼下跑步了20分钟入门神经网络一样本采集在本科的时候对神经网络颇有兴趣,感觉很神秘,特别是当时的yolov5目标检测算法,让我感觉特别震撼,计算机在图像识别上已经超过了人眼。但是这么长时间以来一直......
  • 发明图神经网络模块的人真是个天才!
    今天给大家推荐一个涨点发顶会的好方向:图神经网络(GNN)。这俩热点的结合可以轻松实现“1+1>2”的效果。图神经网络(GraphNeuralNetwork,简称GNN)是一种基于图结构的深度学习模型,专门用于处理图数据。它通过在图中的节点和边上制定一定的策略,将图结构数据转化为规范而标准的表示,......