当前位置: 首页 > news >正文

深度学习笔记_1、定义神经网络

 1、使用了PyTorch的nn.Module类来定义神经网络模型;使用nn.Linear来创建全连接层。(CPU)

import torch.nn as nn
import torch.nn.functional as F
from torchsummary import summary# 定义神经网络模型
class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.fc1 = nn.Linear(in_features=250, out_features=100, bias=True)  # 输入层到隐藏层1,具有250个输入特征和100个神经元self.fc2 = nn.Linear(100, 50)  # 隐藏层2,具有100到50个神经元self.fc3 = nn.Linear(50, 25)   # 隐藏层3,具有50到25个神经元self.fc4 = nn.Linear(25, 10)   # 隐藏层4,具有25到10个神经元self.fc5 = nn.Linear(10, 2)    # 输出层,具有10到2个神经元,用于二分类任务# 前向传播函数def forward(self, x):x = x.view(-1, 250)  # 将输入数据展平成一维张量x = F.relu(self.fc1(x))  # 使用ReLU激活函数传递到隐藏层1x = F.relu(self.fc2(x))  # 使用ReLU激活函数传递到隐藏层2x = F.relu(self.fc3(x))  # 使用ReLU激活函数传递到隐藏层3x = F.relu(self.fc4(x))  # 使用ReLU激活函数传递到隐藏层4x = self.fc5(x)         # 输出层,没有显式激活函数return xif __name__ == '__main__':print(Net())model = Net()summary(model, (250,))  # 打印模型摘要信息,输入大小为(250,)

 

2、GPU版本

import torch
import torch.nn as nn
import torch.nn.functional as F
from torchsummary import summaryclass Net(nn.Module):def __init__(self):super(Net, self).__init__()self.fc1 = nn.Linear(784, 100).to(device='cuda:0')self.fc2 = nn.Linear(100, 50).to(device='cuda:0')self.fc3 = nn.Linear(50, 25).to(device='cuda:0')self.fc4 = nn.Linear(25, 10).to(device='cuda:0')def forward(self, x):x = F.relu(self.fc1(x))x = F.relu(self.fc2(x))x = F.relu(self.fc3(x))x = F.relu(self.fc4(x))return xdevice = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
model = Net().to(device)
input_data = torch.randn(784, 100).to(device)summary(model, (784, ))

http://www.lryc.cn/news/179455.html

相关文章:

  • 【Java 进阶篇】MySQL 事务详解
  • Spring修炼之旅(3)自动装配与注解开发
  • 嵌入式Linux应用开发-基础知识-第十六章GPIO和Pinctrl子系统的使用
  • Ubuntu系统下使用apt-get安装Mysql8
  • jenkins联动显示或隐藏参数
  • Error: Activity class {xxx.java} does not exist
  • 保护模式阶段测试-模拟3环0环调用
  • Dart笔记:stream_channel 包用法
  • Java进阶必会JVM-深入浅出Java虚拟机
  • 1200*B. Sorted Adjacent Differences(构造)
  • 恼人的TCP套接字部分发送成功场景
  • ROS2 中的轻量级、自动化、受控回放
  • Egg使用jwt拦截jtoken验证
  • 装饰器模式详解和实现(设计模式 二)
  • 面试问到MySQL模块划分与架构体系怎么办
  • 并查集及其优化
  • LeetCode 周赛上分之旅 #48 一道简单的树上动态规划问题
  • mysql报错:Column Count Doesn‘t Match Value Count at Row 1
  • 安卓 kuaishou 设备did和egid 学习分析
  • 基于Vue+ELement实现增删改查案例与表单验证(附源码)
  • webpack:使用externals配置来排除打包后的某个依赖插件IgnorePlugin的使用
  • 2023年中国工业脱水机行业供需分析:随着自动化和智能化技术的快速发展,销量同比增长4.9%[图]
  • [论文笔记]MacBERT
  • AI发展目前最大挑战是什么?
  • 自然语言处理NLP:LTP、SnowNLP、HanLP 常用NLP工具和库对比
  • 百度交易中台之内容分润结算系统架构浅析
  • 【索引】常见的索引、B+树结构、什么时候需要使用索引、优化索引方法、索引主要的数据结构、聚簇索引、二级索引、创建合适的索引等重点知识汇总
  • Egg 封装接口返回信息
  • Android AMS——创建APP进程(五)
  • 凉鞋的 Unity 笔记 102. 场景层次 与 GameObject 的增删改查