NLP(2)--搭建简单的模型(nn)

前言

仅记录学习过程,有问题欢迎讨论

可能使用到的包

可以通过Anaconda直接install,不行就PIP install xxx

  • Python
  • Torch
  • Transformers
  • Scikit-learn
  • Numpy
  • Gensim
  • Pandas

我的版本:
可以用 conda list 查看
在这里插入图片描述
在这里插入图片描述

代码

如果有包导入不进来,可以先去网上查查怎么用Anaconda下载包,
一般是conda install xxx;
还有就是项目环境的配置需要配置到对应Anaconda的环境下

注:python版本最好3.8以上。

# try to build a simple neural network
import torch
import numpy
import torch.utils.data as Data
from torch.nn import init
import torch.optim as optim
# produce data list
num_input = 2
num_example = 1000
true_w = [2, -3.4]  # 真参数
true_b = 4.2  # 真 偏移量
# 特征
features = torch.tensor(numpy.random.normal(0, 1, (num_example, num_input)), dtype=torch.float)
# function
labels = true_w[0]*features[:, 0]+true_w[1]*features[:, 1] + true_b
# +噪声因子 均值为0、标准差为0.01的正态分布
labels += torch.tensor(numpy.random.normal(0, 0.01, size=labels.size()), dtype=torch.float)batch_size = 10
# 将训练数据的特征和标签组合
dataset = Data.TensorDataset(features, labels)
# 随机读取小批量
data_iter = Data.DataLoader(dataset, batch_size, shuffle=True)
# 读取并打印第一个小批量数据样本
for X,y in data_iter:print(X,y)break
# 定义模型 nn input/output
net = torch.nn.Sequential(torch.nn.Linear(num_input, 1)
)
print("net =", net)for param in net.parameters():print(param)# 使用net前 需要初始化参数 初始化
init.normal(net[0].weight, mean=0, std=0.01 )
init.constant_(net[0].bias, val=0)# 定义损失函数
loss = torch.nn.MSELoss()
# 定义优化算法
optimzer = optim.SGD(net.parameters(), lr=0.03)
print("optimzer =", optimzer)
# 训练模型
num_epochs = 10
for epoch in range(1, num_epochs+1):for X, y in data_iter:output = net(X)l = loss(output, y.view(-1, 1))optimzer.zero_grad()# 梯度清零,等价于net.zero_grad()l.backward()optimzer.step()print('epoch %d, loss: %f' % (epoch, l.item()))# 比较学到的模型参数和真实的模型参数
print('result ==================')
dense = net[0]
print(true_w, dense.weight)
print(true_b, dense.bias)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/826967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何搭建私域获取淘宝店铺卖家订单信息trade.fullinfo.get

私域流量主要由已经对企业或品牌感兴趣并进行关注的用户组成,这些用户对企业具有一定的忠诚度和粘性。通过与这些用户建立良好的互动和关系,企业可以进一步提升用户的忠诚度和转化率,从而有助于建立持续稳定的业务模式和盈利模式,…

【ARFoundation自学01】搭建AR框架+检测平面+点击克隆立方体到地面=自信入门!

介绍 AR 的功能其实是个大手机系统厂商和眼镜设备厂商开发的功能,并不是Unity的功能,毕竟Unity没有自己的手机设备!比如谷歌公司的安卓开发了ARcore,让所有安卓8.0版本以上的用户能够在手机上体验AR功能!苹果推出了AR…

2024红明谷杯——Misc 加密的流量

2024红明谷杯——Misc 加密的流量 写在前面: 这里是贝塔贝塔,照例来一段闲聊 打比赛但赛前一波三折,又是成功签到的一个比赛 说起来比赛全名叫红明谷卫星应用数据安全场景赛,但好像真的跟卫星的关系不大,没有bin方…

深入理解JavaScript - Proxy模拟vue的代理

视频链接 ⚠️视频里使用proxy的代码不能用!!! (1)简单使用 const obj {a: 1,b: 2,c: {a: 1,b: 2,}, }; let v obj.a; Object.defineProperty(obj, "a", {get() {console.log("读取", a);},se…

深入探索Python中的推导式:从列表到字典,全面解析数据结构的快速构建方法

文章目录 1. 列表推导式:快速构造列表1.1 基础用法1.2 条件筛选 2. 字典推导式:动态构建字典2.1 基础用法2.2 使用条件过滤 3. 集合推导式:有效去重与数据筛选3.1 基本语法与应用3.2 去重和转换3.2 使用条件过滤 4. 生成器推导式:…

基于CH32V103的多功能推杆设计

一、项目简介 “创意源于生活,工具始于懒惰。” 整体造型外观参考了最近比较火的夫妻游戏《双人成行》第一关里面那个吸尘器的推杆开关,结构中采用阻尼器/滚珠轴承等器件,使其非常具有质感和手感。功能上我构思不能只有电脑开关这么简单地一…

Jenkins CI/CD 持续集成专题三 Jenkins 使用shell脚本打包组件配置流程

第一步 新建任务 第二步 输入项目名称和选择自由风格的软件项目点击确定 第三步 配置下项目地址和账号密码 第四步 配置 build steps 选择 shell 脚本 第五步 shell 配置 (注意shell 必须以#!/bin/sh开头,否则会报 找不到shell 命令的错) …

RK平台 启动硬件加速

1.xml中添加需要加速的包名 /device/rockchip/rk356x/package_performance.xml <?xml version1.0 encodingutf-8 standaloneyes ?> <performance-package> <app package"com.antutu.ABenchMark" mode"1"/> <app package"com…

【Web】DASCTF X CBCTF 2022九月挑战赛 题解

目录 dino3d Text Reverser cbshop zzz_again dino3d 进来是一个js小游戏 先随便玩一下&#xff0c;显示要玩够1000000分 直接console改分数会被检测 先是JSFinder扫一下&#xff0c;扫出了check.php 到js里关键词索引搜索check.php 搜索sn&#xff0c;发现传入的参数是…

3-羟基丙酸(3-HP)应用前景广阔 生物基3-羟基丙酸市场占比将不断提升

3-羟基丙酸&#xff08;3-HP&#xff09;应用前景广阔 生物基3-羟基丙酸市场占比将不断提升 合成技术是制约3-羟基丙酸规模化应用的重要因素。3-羟基丙酸合成技术包括化学合成法、生物合成法两大类&#xff0c;其中化学合成法是主流生产工艺&#xff0c;但化学合成法存在工艺复…

vue 手写手动轮播 且图片宽度不一样

vue 手写手动轮播 且图片宽度不一样 轮播图样式 <div class"case-imgs" v-if"length ! 0"><div :class"[length 1 ? big : small, imgs-wrapper]"><img class"case-img" v-for"(m, n) in activeParam.imgs"…

.netcore+vue新生分班系统的设计与实现

.netcore vue新生分班系统的设计与实现说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于.net core架构和mysql数据库vue 东北石油大学新生分班系统的设计与实现 功能模块&#xff1a; 登录 注册学生 忘记密码 系统首顶 个…

Qt5之创建数据库连接、打开数据库、查询数据库和获取结果集

2024年4月22日&#xff0c;周一下午 注意&#xff0c;下面这段代码不能直接运行&#xff0c;只是给大家一个大概的思路 所需头文件 #include <QSqlDatabase> #include <QDebug> #include <QSqlError> #include <QSqlQuery>创建数据库连接 QSqlDatab…

完成学校官网页面制作

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>教务系统</title> <style> .wap{ margin:0 auto; width:955px; } .top{ height:150px; padding-left:85px; …

【JS】react antd 项目如何让Table组件表格滚动播放

目录 实现原理如何判断是否滚到到底部&#xff1f;停止和开始滚动的控制优化滚动体验 实现原理 某个函数实现向下滚动1个像素效果&#xff0c;使用setInterval每隔1秒都调用这个函数&#xff0c;就实现了滚动的效果。 init () > {const that this;this.timeInterval se…

期货开户交易不要自我吹嘘

总而言之&#xff0c;盈利和你没任何关系&#xff0c;不要自我吹嘘自我眩晕&#xff0c;他只是市场给予你的恩赐而已。不是你具备了什么盈利的能力。如果你努力奋斗在交易市场上了&#xff0c;或是在寻找致胜之法&#xff0c;从现在起&#xff0c;你应该知道这对你的交易&#…

easyexcel的使用

注解 ExcelProperty ExcelProperty是EasyExcel库中的一个注解&#xff0c;用于在导出或导入Excel文件时&#xff0c;把Excel的列与Java对象的字段进行映射。 ExcelIgnore ExcelIgnore是EasyExcel库中的一个注解&#xff0c;用于在导出或导入Excel文件时&#xff0c;标注在实…

DHCP服务器配置故障转移后显示红色箭头、与伙伴服务器失去联系的解决方案

一、遇到的故障现象&#xff1a; &#xff08;主DHCP服务器与备用DHCP服务器连通性正常&#xff0c;在故障转移选项卡上却显示与伙伴失去联系、伙伴关闭&#xff0c;且ipv4协议旁边显示一个红色的小箭头&#xff09;&#xff0c;正常情况下是绿色 &#xff08;一&#xff09;…

外包干了6天,技术明显退步。。。

我是一名大专生&#xff0c;自19年通过校招进入湖南某软件公司以来&#xff0c;便扎根于功能测试岗位&#xff0c;一晃便是近四年的光阴。今年3月&#xff0c;我如梦初醒&#xff0c;意识到长时间待在舒适的环境中&#xff0c;已让我变得不思进取&#xff0c;技术停滞不前。更令…

达梦数据库的监听进程

达梦数据库&#xff08;DMDB&#xff09;也同样有监听进程&#xff0c;其主要职责是监听来自客户端的连接请求。这里的监听进程指的是达梦数据库服务启动后&#xff0c;在操作系统级别监听特定TCP/IP端口&#xff08;默认情况下是5236&#xff0c;但这可以配置&#xff09;的进…