Pytorch中的NN模块并实现第一个神经网络模型
在PyTorch建立模型,主要是NN模块。
nn.Linear
nn.Linear是创建一个线性层。这里需要将输入和输出维度作为参数传递。
linear = nn.Linear(10, 2) example_input = torch.randn(3, 10) example_output = linear(example_input) example_output
上面代码linear接受nx10的输入并返回nx2的输出。
print(example_input) print(example_output) tensor([[ 1.1122, -0.1381, 0.5547, -0.3326, Py-0.5676, 0.2810, -0.5521, -0.8729, -0.6627, 0.8729], [ 1.9134, 0.2397, -0.8340, 1.1532, -1.6725, 0.6171, -0.0357, -1.6848, -0.8454, 0.3876], to [-0.0786, -0.1541, -0.8385, -0.1587, -0.0121, 1.4457, -0.0132, 1.5653, -1.6954, -0.9350]]) # 输出如下 tensor([[-0.1249, -0.8002], [-1.0945, -0.2297], &rcnbsp; [-0.3558, 0.8439]], grad_fn=) nn.Relu
nn.Relu对线性的给定输出执行 relu 激活函数操作。
relu = nn.ReLU() relu_output = relu(example_output) relu_output # 输出如下 tensor([[0.0000, 0.0000], [0.0000, 0.0000], [0.0000, 0.8h中439]], grad_fn=) nn.BatchNorm1d
nn.BatchNorm1d是一种标准化技术,用于在不同批次的输入中保持一致的均值和标准偏差。
batchnorm = nn.BatchNorm1d(2) batchnorm_output = batchnorm(relu_output) batchnorm_output # 输出如下 tensor([[ 0.0000, -0.7071], [ 0.0000, -0.7071], 的N [ 0.0000, 1.4142]], grad_fn=) nn.Sequential
nn.Sequential一次性创建一系列操作。和tensorflow中的Sequential完全一样。
mlp_layer = nn.Sequential( nn.Linear(5, 2), nn.BatchNorm1d(2), nn.ReLU() ) test_example = torch.randn(5,5) + 1 print("input: ") print(tesN模t_example) print("output: ") print(mlp_layer(test_example)) # 输出如下 input: tensor([[ 1.4617, 1.2446, 1.4919, 1.5978, -0.3410], [-0.2819, 0.5567, 1.0113, 1.8053, -0.0833], [ 0.2830,&n块并bsp; 1.0857, 1.2258, 2.6602, 0.1339], [ 0.8682, 0.9344, 1.3715, 0.0279, 1.8011], [ 0.6172, 1.1414, 0.6030, 0.3876, 1.3653]]) output: tensor([[0.0000, 0.000实现0], [0.0000, 1.3722], [0.0000, 0.8861], [1.0895, 0.0000], [1.3047, 0.0000]], grad_fn=)
在上面的模型中缺少了优化器,我们无法得到对应损失。
import torch.optim as optim adam_opt =&nbs第一p;optim.Adam(mlp_layer.parameters(), lr=1e-1) # 这里lr表示学习率,1e-1表示0.1 train_example = torch.randn(100,5) + 1 adam_opt.zero_grad() # 我们将使用1减去平均值,作为简单损失函数 cur_loss = torch.abs(1 - mlp_layer(train_example)).mean() cur_loss.backward() # 更新参数 adam_opt.step() print(cur_loss.data) # 输出如下 tensor(0.7467)
虽个神然上面只是用了一个epoch,训练线性模型得到loss为0.7467,上面就是NN模型建立model的整个流程,
第一个神经网络模型
下面实现第一个分类神经网络,其中一个隐藏层用于开发单个输出单元。
首先,使用以下命令导入 PyTorch 库 -
import torch import torch.nn as nn
定义所有层和批量大小以开始执行神经网络,如下所示 -
n_in, n_h, n_out, batch_size = 10, 5, 1, 10
由于神经网络包括输入数据的组合以获得相应的输出数据,我们将遵循以下相同的程序 -
x = torch.randn(batch_size, n_in) y = torch.ten经网sor([[1.0], [0.0], [0.0], [1.0], [1.0], [1.0], [0.0], [0.0], [1.0], [1.0]])
创建顺序模型。使用下面代码,创建一个顺序模型 -
model = nn.Sequential(nn.Linear(n_in, n_h), nn.ReLU(), nn.Linear(n_h, n_out), nn.Sigmoid())
借助梯度下降优化器构建损失函数,如下所示 -
# 构造损失函数 criterion = torch.nn.MSELo络模ss() # 构造优化器 optimizer = torch.optim.SGD(model.parameters(), lr = 0.01)
使用给定代码行的迭代循环实现梯度下降模型 -
# 梯度下降 for epoch in range(50): # 正向传递:通过将x传递给模型来计算预测的y y_pred = model(x) # 计算loss loss = criterion(y_pred, y) Py # 梯度清0 optimizer.zero_grad() # 反向传播,求解梯度 loss.backward() # 更新模型参数 optimizer.step() if epoch % 10 == 0: print('epoch: ', epoch,' loss: ', loss.item()to)
输出如下
epoch: 0 loss: 0.2508794665336609 epoch: 10 loss: 0.24847669899463654 epoch: 20 loss: 0.24615907669067383 epoch: 30 loss: 0.24392127990722656 epoch: 40 loss: 0.24175791442394257
(责任编辑:爆款推荐)
-
新浪科技讯 北京时间6月3日凌晨消息,据报道,微软周三宣布,该公司将于6月24日发布“下一代Windows”。 微软CEO萨提亚·纳德拉(Satya Nadella)在一周前非正式地表示,下一代Win...[详细]
-
10月9日消息,NBA中国与阿里云宣布战略合作,旨在通过科技提升篮球运动的参与度和吸引力。双方将共同开发人工智能技术,包括NBA篮球大模型,以优化赛事体验,增强球迷和球员的互动,推动篮球运动的普及与发...[详细]
-
腾讯云推出DeepSeek模型API接口,实现联网搜索新突破
腾讯云近日迈出了具有重要意义的一步,宣布推出DeepSeek-R1及V3原版模型的API接口,并成功将其整合进大模型知识引擎中,实现了联网搜索功能。这一创新举措让腾讯云成为了国内首个具备此类能力的云服...[详细]
-
云安全日报210106:红帽RHEL系统内核发现拒绝服务和特权提升漏洞,需要尽快升级
Red Hat Enterprise Linux(RHEL)是Red Hat公司面向商业市场的Linux发行版。1月5日,Red Hat发布了安全更新,修复了红帽RHEL系统内核中发现的一些重要漏洞。...[详细]
-
2025爱奇艺尖叫之夜于近日在中国澳门银河综艺馆圆满落幕,这场年度娱乐盛典的收官不仅为爱奇艺与澳门银河综艺馆为期三年的首次合作画上圆满句号,也成为双方续写合作新篇的重要契机——12月9日,双方正式宣布...[详细]
-
鑻辩壒灏旀棗涓婱obileye鍦ㄧ航绾︽祴璇曡嚜鍔ㄩ┚椹舵苯杞�
鏂版氮绉戞妧璁� 鍖椾含鏃堕棿7鏈�21鏃ユ棭闂存秷鎭�紝鎹�姤閬擄紝鑻辩壒灏旀棗涓嬬殑鑷�姩椹鹃┒姹借溅浼佷笟Mobileye宸茬粡寮€濮嬪湪绾界害甯傛祴璇曡嚜鍔ㄩ┚椹舵苯杞︺€� 绾界害鏄�竴涓�...[详细]
-
云梦级2月11日云梦级消息,当地时间周一晚间,xAI 联合创始人 Tony Wu 宣布离职。他在深夜发布的 X 推文里写道:“是开启我人生新篇章的时候了。这是一个充满无限可能的时代:一支手握人工智能的...[详细]
-
2月3日消息,据国外媒体报道,在截至2020年12月31日的季度,阿里巴巴云计算业务的增速超过了亚马逊云服务(AWS)和谷歌云。 昨日,阿里巴巴公布了截至2020年12月31日的2021财年第三季度业...[详细]
-
38号果冻橙成熟期?1、爱媛38号果冻橙10月中下旬成熟。2、爱媛38号为橙和橘杂交培育的品种,似橙非橙,似橘非橘,口感早期酸甜,中后期纯甜,皮薄肉嫩。因皮好剥,也被称为“手剥。爱媛成熟时间?主要是因...[详细]
-
实时高保真渲染,基于PlenOctrees的NeRF渲染速度提升3000倍
从稀疏的静态图像合成任意 3D 视角物体和场景新视图是很多 VR 和 AR 应用的基础。近年来神经辐射场(Neural Radiance Fields, NeRF)的神经网络渲染研究通过神经网络编码实...[详细]
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=外推留痕软件【tg:seogoogle987】ZwQ
- https://www.pearson.com/en-us/search.html?aq=外推留痕软件【tg:seogoogle987】,dkN
- https://www.sebson.de/en/search?query=外推留痕软件【tg:seogoogle987】,W07
- https://www.paxnet.co.kr/search/jongmok?kwd=外推留痕软件【tg:seogoogle987】999
- https://www.prattlibrary.org/search?q=外推留痕软件【tg:seogoogle987】,nLY
- https://www.urmc.rochester.edu/news/search?q=外推留痕软件【tg:seogoogle987】,0Qr
- https://www.temu.com/search_result.html?search_key=外推留痕软件【tg:seogoogle987】tfU
- https://www.theaerogroup.net/?cat=28&s=外推留痕软件【tg:seogoogle987】,OVc
- https://www.nonsolocap.it/cap?action=SEARCH&k=外推留痕软件【tg:seogoogle987】,pLX
- https://www.rockngem.com/?action=CHECK&s=外推留痕软件【tg:seogoogle987】,Qgx

标签: 王暖暖 无忧传媒 泰国孕妇坠崖案 MCN霸凌
DeepSeek V4 正式发布,DeepSeek-V4-Flash与 DeepSeek-V4-Pro双版本定价揭晓
时隔近50年,剑桥团队首次检测到量子自旋液体,研究登上《Science》
谷歌屈服脸书宣战:澳大利亚各界对被硅谷巨头“痛打”作何反应
国产AI新突破!DeepSeek-V3.1大模型发布
