【Python学习】基于pytorch和pysimplegui实现中国人口预测算法部署

  • 1 环境与Package准备
    • 1.1 创建Python3.6版本的环境
    • 1.2 激活Python3.6版本的环境
    • 1.3 安装用到的package
      • 1.3.1 安装jupyter notebook、pytorch
      • 1.3.2 安装pysimplegui、matplotlib
  • 2 数据准备
  • 3 代码编写
    • 3.1 数据分析
    • 3.2 模型搭建
    • 3.3 训练模型,调参
    • 3.4 使用最优的参数训练模型并且保存
    • 3.5 构建可视化界面部署模型,投入使用
  • 4 总结

这里假设读者已经在Windows下安装好Anaconda并且已经初步学会使用conda命令和jupyter notebook。

1 环境与Package准备

读者可以参考我之前的博客【Python学习】纯终端命令开始你的Anaconda安装与Python环境管理当中的Python环境管理部分。

1.1 创建Python3.6版本的环境

读者如果已经掌握了conda管理python环境,并且当前使用的python版本为python3,则可以跳过这部分。
(1) 在终端输入以下创建环境命令

conda create -n py36 python=3.6  #python=3.6指定python版本

输入"y",按回车键确认,如下图
在这里插入图片描述

1.2 激活Python3.6版本的环境

conda activate py36 # 这里py36是环境名

如下图,环境由默认的base切换到py36
在这里插入图片描述

1.3 安装用到的package

1.3.1 安装jupyter notebook、pytorch

安装jupyter notebook:

conda install jupyter

安装pytorch:

conda install pytorch torchvision cpuonly -c pytorch

在这里插入图片描述

1.3.2 安装pysimplegui、matplotlib

安装pysimplegui:

pip install pysimplegui

在这里插入图片描述
安装matplotlib:

pip install matplotlib

2 数据准备

数据来源:中国历年人口总数统计
选取1959年至2018年的中国人口数据作为训练样本

3 代码编写

打开jupyter notebook:

jupyter notebook

3.1 数据分析

创建jupyter notebook文件test_cpa.ipynb
在第1个cell导入相应包:

# 导入相应包
import torch
import numpy as np
import torch.nn.functional as F
import matplotlib.pyplot as plt
%matplotlib inline

在第2个cell绘图分析:

# 获取数据
year = torch.unsqueeze(torch.range(start=1959, end=2018, step=1, out=None), dim=1) 
year = year - 1958  # year-1958,假设1959年为第1年
cp = torch.unsqueeze(torch.tensor([6.55, 6.67, 6.6, 6.66, 6.82, 6.98, 7.15, 7.35, 7.55,7.75, 7.96, 8.18, 8.41, 8.62, 8.82, 9.0, 9.16, 9.31,9.43, 9.56, 9.69, 9.81, 9.94, 10.09, 10.23, 10.37, 10.51,10.67, 10.84, 11.02, 11.19, 11.35, 11.51, 11.65, 11.78, 11.92, 12.05, 12.18, 12.3, 12.42, 12.53, 12.63, 12.72, 12.8, 12.88,12.96, 13.04, 13.11, 13.18, 13.25, 13.31, 13.38, 13.44, 13.51,13.57, 13.64, 13.71, 13.79, 13.86, 13.93]), dim=1)   # 单位:亿
plt.scatter(year.data.numpy(), cp.data.numpy())
plt.show()

绘图结果如下:
在这里插入图片描述

3.2 模型搭建

这里主要使用感知机模型,感知机算法可以参考博客:李航《统计学习方法》第二章——用Python实现感知器模型(MNIST数据集)
创建cpa.py文件,在该文件中书写模型类:
该文件可以分为三步进行描述:

  • 第1步:导入相应包;
  • 第2步:书写PAnet类的构造函数__init__
  • 第3步,书写PAnet类的forward函数
#!/usr/bin/env python
# coding: utf-8# # 中国人口分析
# **作者**:陈艺荣   
# **依赖**:python3.6、pytorch1.3.0    # 导入相应包
import torch
import torch.nn.functional as Fclass PAnet(torch.nn.Module):def __init__(self, n_feature, n_hidden, n_output, hidden_num=1):super(PAnet, self).__init__()self.hidden1 = torch.nn.Linear(n_feature, n_hidden)   # hidden1 layerself.hidden2 = torch.nn.ModuleList([torch.nn.Linear(n_hidden, n_hidden) for i in range(hidden_num)])self.predict = torch.nn.Linear(n_hidden, n_output)   # output layer        def forward(self, x):x = F.relu(self.hidden1(x)) for i, h in enumerate(self.hidden2):x = F.relu(h(x))x = self.predict(x) # linear outputreturn x

3.3 训练模型,调参

3.1 数据分析test_cpa.ipynb文件的基础上,建立第3个cell,设置随机种子,并且导入PAnet类

torch.manual_seed(1)    # reproducible
from cpa import PAnet

建立第4个cell,定义训练过程:

def train(EPOCH, LR, HIDDEN_SIZE, HIDDEN_LAYERS):'''EPOCH          训练次数LR             学习率HIDDEN_SIZE    隐藏层网络宽度HIDDEN_LAYERS  隐藏层深度'''time = np.arange(EPOCH)   # 产生自变量loss_list = []cn_panet = PAnet(n_feature=1, n_hidden=HIDDEN_SIZE, n_output=1, hidden_num=HIDDEN_LAYERS-1)     # define the networkprint(cn_panet)  # net architectureoptimizer = torch.optim.SGD(cn_panet.parameters(), lr=LR)  # 调小学习率loss_func = torch.nn.MSELoss()  # this is for regression mean squared lossfor t in range(EPOCH):prediction = cn_panet(year)          # input x and predict based on xloss = loss_func(prediction, cp)     # must be (1. nn output, 2. target)loss_list.append(loss)optimizer.zero_grad()                # clear gradients for next trainloss.backward()                      # backpropagation, compute gradientsoptimizer.step()                     # apply gradients    return time, loss_list

建立第5个cell,对不同的学习率进行实验

# Hyper Parameters
EPOCH = 5000 # 训练次数
LR = 0.002 # 学习率
HIDDEN_SIZE = 30 # 隐藏层网络宽度
HIDDEN_LAYERS = 5 # 隐藏层深度
time, loss_list_02 = train(EPOCH, 0.2, HIDDEN_SIZE, HIDDEN_LAYERS)
time, loss_list_0005 = train(EPOCH, 0.005, HIDDEN_SIZE, HIDDEN_LAYERS)
time, loss_list_0002 = train(EPOCH, 0.002, HIDDEN_SIZE, HIDDEN_LAYERS)
time, loss_list_0003 = train(EPOCH, 0.003, HIDDEN_SIZE, HIDDEN_LAYERS)
time, loss_list_0004 = train(EPOCH, 0.004, HIDDEN_SIZE, HIDDEN_LAYERS)
time, loss_list_0001 = train(EPOCH, 0.001, HIDDEN_SIZE, HIDDEN_LAYERS)
time, loss_list_00002 = train(EPOCH, 0.0002, HIDDEN_SIZE, HIDDEN_LAYERS)
time, loss_list_000002 = train(EPOCH, 0.00002, HIDDEN_SIZE, HIDDEN_LAYERS)

建立第6个cell,对不同的学习率获得的结果进行绘图分析

plt.plot(time, loss_list_0001, 'g-', label='lr=0.001') 
plt.plot(time, loss_list_0002, 'b-', label='lr=0.002') 
plt.plot(time, loss_list_0003, 'k-', label='lr=0.003') 
plt.plot(time, loss_list_0004, 'y-', label='lr=0.004') 
plt.plot(time, loss_list_0005, 'r-', label='lr=0.005') plt.legend(loc='lower right')  # 说明图例  # loc='lower right' 设置图例放置位置

在这里插入图片描述

建立第7个cell,截取100个epoch之后的结果进行比较分析:

plt.plot(time[100:], loss_list_0001[100:], 'g-', label='lr=0.001') 
plt.plot(time[100:], loss_list_0002[100:], 'b-', label='lr=0.002') 
plt.plot(time[100:], loss_list_0003[100:], 'k-', label='lr=0.003') 
plt.plot(time[100:], loss_list_0004[100:], 'y-', label='lr=0.004') 
plt.plot(time[100:], loss_list_0005[100:], 'r-', label='lr=0.005') 
plt.legend(loc='lower right')  # 说明图例  # loc='lower right' 设置图例放置位置

在这里插入图片描述
这里依据上图对学习率进行简单分析:
可以看到,当学习率lr=0.005时,模型的loss下降到5就不再下降了;
当学习率lr=0.001时,模型的loss下降速度相对较慢;
当学习率lr=0.002或0.003时,模型的loss下降较快且接近0;

3.4 使用最优的参数训练模型并且保存

这里假设最优的超参数为:

  • EPOCH = 5000 # 训练次数
  • LR = 0.003 # 学习率
  • HIDDEN_SIZE = 32 # 隐藏层网络宽度
  • HIDDEN_LAYERS = 8 # 隐藏层深度
    新建jupyter notebook文件test_cpa_best_model.ipynb,在第1个cell导入包:
# 导入相应包
import torch
import numpy as np
import torch.nn.functional as F
import matplotlib.pyplot as plt
from cpa import PAnet
%matplotlib inline

建立第2个cell,放置训练数据

# 获取数据
year = torch.unsqueeze(torch.range(start=1959, end=2018, step=1, out=None), dim=1) 
year = year - 1958  # year-1958,假设1959年为第1年
cp = torch.unsqueeze(torch.tensor([6.55, 6.67, 6.6, 6.66, 6.82, 6.98, 7.15, 7.35, 7.55,7.75, 7.96, 8.18, 8.41, 8.62, 8.82, 9.0, 9.16, 9.31,9.43, 9.56, 9.69, 9.81, 9.94, 10.09, 10.23, 10.37, 10.51,10.67, 10.84, 11.02, 11.19, 11.35, 11.51, 11.65, 11.78, 11.92, 12.05, 12.18, 12.3, 12.42, 12.53, 12.63, 12.72, 12.8, 12.88,12.96, 13.04, 13.11, 13.18, 13.25, 13.31, 13.38, 13.44, 13.51,13.57, 13.64, 13.71, 13.79, 13.86, 13.93]), dim=1)   # 单位:亿
plt.scatter(year.data.numpy(), cp.data.numpy())
plt.show()

建立第3个cell,构建训练、保存模型函数:

# 训练并且保存网络函数
def trainandsave(EPOCH, LR, HIDDEN_SIZE, HIDDEN_LAYERS):'''EPOCH          训练次数LR             学习率HIDDEN_SIZE    隐藏层网络宽度HIDDEN_LAYERS  隐藏层深度'''time = np.arange(EPOCH)   # 产生自变量loss_list = []cn_panet = PAnet(n_feature=1, n_hidden=HIDDEN_SIZE, n_output=1, hidden_num=HIDDEN_LAYERS-1)     # define the networkprint(cn_panet)  # net architectureoptimizer = torch.optim.SGD(cn_panet.parameters(), lr=LR)  # 调小学习率loss_func = torch.nn.MSELoss()  # this is for regression mean squared lossfor t in range(EPOCH):prediction = cn_panet(year)          # input x and predict based on xloss = loss_func(prediction, cp)     # must be (1. nn output, 2. target)loss_list.append(loss)optimizer.zero_grad()                # clear gradients for next trainloss.backward()                      # backpropagation, compute gradientsoptimizer.step()                     # apply gradients    torch.save(cn_panet, 'cn_panet.pkl')  # save entire netprint("成功保存网络")return time, loss_list

建立第4个cell,定义读取模型函数:

# 读取网络模型函数
def restore_net(netname):# restore entire net1 to net2net = torch.load(netname)return net

建立第5个cell,使用最优参数训练模型:

# 根据最优参数进行配置
EPOCH = 5000 # 训练次数
LR = 0.003 # 学习率
HIDDEN_SIZE = 32 # 隐藏层网络宽度
HIDDEN_LAYERS = 8 # 隐藏层深度
time, loss_list_02 = trainandsave(EPOCH, LR, HIDDEN_SIZE, HIDDEN_LAYERS)
plt.plot(time, loss_list_02, 'g-', label='损失函数曲线') 

建立第6个cell,测试能否导入模型使用:

reload_net = restore_net('cn_panet.pkl')
year_2019 = 2019 - 1958
year_2019 = torch.FloatTensor([[year_2019]])
print(year_2019.shape)
cp_2019 = reload_net(year_2019)
print("预测的2019年人口为:",cp_2019.item(),"亿")

返回结果如下:
torch.Size([1, 1])
预测的2019年人口为: 14.121960639953613 亿

3.5 构建可视化界面部署模型,投入使用

新建jupyter notebook文件cpa_demo.ipynb,在第1个cell写入以下代码:

# 导入相应包
import torch
import numpy as np
import PySimpleGUI as sg
# 定义导入模型的函数
def restore_net(netname):# restore entire net1 to net2net = torch.load(netname)return net# 窗口内的所有控件.
sg.change_look_and_feel('DarkBlue1')
layout = [ [sg.Text('选择你的数据模型')],[sg.Input(), sg.FileBrowse()],[sg.Text('输入需要预测的年份'), sg.InputText()],[sg.Button('确认'), sg.Button('退出')] ]# 生成窗口
window = sg.Window('中国人口预测', layout)
# 消息处理和输入消息接收
while True:event, values = window.read()if event in (None, '退出'): breakreload_net = restore_net(values[0])year = torch.FloatTensor([[int(values[1])-1958]])predict_cp = reload_net(year)print(predict_cp)sg.Popup("预测的人口为:", predict_cp.item(),"亿")window.close()
del window

运行后,弹出如下界面:
在这里插入图片描述
选择保存的模型,并且输入预测的年份,然后点击确认,结果如下:
在这里插入图片描述

4 总结

本文使用pytorch和pysimplegui实现中国人口数据分析,搭建多层感知机模型拟合数据,通过调参获得最优模型,并且把模型部署到界面应用当中。其中3.1节代码数据数据分析;3.2节代码数据模型搭建;3.3和3.4节代码属于网络调参;3.5节代码属于前端界面应用构建。通过本篇博客,你可以初步体验pytorch、numpy、matplotlib、pysimplegui的使用,以及python构建类的代码。
深度学习应用大致可以分为以下几步:

  • 数据准备与数据分析;
  • 模型搭建;
  • 模型超参数调参;
  • 训练模型并且保存;
  • 将训练好的模型部署到生产环境当中。

代码已经开源在:https://github.com/scutcyr/cpa_test

【作者简介】陈艺荣,男,目前在华南理工大学电子与信息学院广东省人体数据科学工程技术研究中心攻读博士,担任IEEE Access、IEEE Photonics Journal的审稿人。两次获得美国大学生数学建模竞赛(MCM)一等奖,获得2017年全国大学生数学建模竞赛(广东赛区)一等奖、2018年广东省大学生电子设计竞赛一等奖等科技竞赛奖项,主持一项2017-2019年国家级大学生创新训练项目获得优秀结题,参与两项广东大学生科技创新培育专项资金、一项2018-2019年国家级大学生创新训练项目获得良好结题,发表SCI论文3篇,授权实用新型专利8项,受理发明专利13项。
我的主页
我的Github
我的CSDN博客
我的Linkedin

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

相关文章

  1. Ubuntu18.04 解决eclipse没有桌面图标的问题

    参考链接:https://blog.csdn.net/u010071211/article/details/81114269新建eclipse.desktop文件sudo vim /usr/share/applications/eclipse.desktop 文件内容如下:[Desktop Entry] Encoding=UTF-8 Name=eclipse Comment=Eclipse IDE Exec=/usr/local/eclipse/eclipse #根据软…...

    2024/4/21 0:22:36
  2. linux mount 命令使用

    http://roclinux.cn/?p=743mount的艺术 在阅读本文之前,我假设你已经对Linux系统下的硬盘、光盘的设备命令规则有所了解,比如sda和sda1的关系,以及hda、sda、fd、cdrom等设备。 === 1 我把U盘插到USB口上了,下一步我该如何做才能查看U盘里的内容?我不能确定你的Linux系统…...

    2024/4/21 0:22:33
  3. 【风宇冲】Unity3D教程宝典之路径搜寻:第二讲SimplePath详细教程

    http://blog.sina.com.cn/s/blog_471132920101ftox.html原创文章如需转载请注明:转载自风宇冲Unity3D教程学院路径搜寻第二讲:SimplePath详细教程SimplePath是一款效率不错的unity寻路插件。优点:效率高,可视化好。用的是网格而不是way point或者nav mesh,不会有复杂的转弯缺…...

    2024/4/21 0:22:33
  4. 人口增长模型

    **人口增长模型笔者今天整理了微分方程模型中的人口增长模型。 最早提出人口增长模型的是马尔萨斯,其模型最早发布于英国经济学家托马斯罗伯特马尔萨斯《人口原理》。在书中马尔萨斯指出,人口按几何级数增长。但是不得不提到的是,这本著作发布于1798年,故马尔萨斯人口论有其…...

    2024/4/20 2:29:17
  5. 虚拟机下安装JDK和Eclipse

    一、安装JDK1、先检测操作系统有没有已经安装好JDK环境,按“Ctrl+Alt+T”呼出终端,输入命令:java –version如果出现JDK版本信息,则说明已经安装好,否则将会显示如下结果:2、下载JDK软件下载地址:JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.h…...

    2024/4/21 0:22:30
  6. Unity3d 之 Survival Shooter 菜鸟教程系列一

    步骤一:准备素材先到Unity3d Asset store 下载survival shooter的素材 https://www.assetstore.unity3d.com/cn/#!/search/page=1/sortby=relevance/query=survival&shooter友情提醒:Asset store 资源包下载的默认路径是 C:\Users\你的用户名\AppData\Roaming\Unity\Ass…...

    2024/4/21 0:22:29
  7. Windows系统如何mount盘符到目录

    本文是从另一篇关于Linux文件系统实现的文章里摘出来的。 在Windows上如何将一个文件系统分区挂载到一个目录,这其实是一个 硬需求! 是的,非常硬的需求。因为我们总是面临C盘,D盘满了却无法动态扩容问题。所以,在有一天我因为路上堵车撸了一个Linux上的最小的tinyfs之后,…...

    2024/4/19 23:39:06
  8. ubuntu平台下eclipse打不开问题解决方法

    http://www.xue5.com/Developer/Software/664417.html安装eclipse:sudo apt-get install eclipse-platform调整java: sudo update-alternatives --config java启动:eclipseError:An error has occurred. See the log file /home/rupali/.eclipse/org.eclipse.platform_3.7.0…...

    2024/4/20 2:50:26
  9. MATLAB-logistics回归(人口增长阻塞模型)

    %logistics回归(人口模型)a=textread(data4.txt);x=a([2:2:6],:);x=nonzeros(x);%%相应时间人口t=[1790:10:2000];%%已知数据时间点%x=[544 1376 1415 1004];%t=[1950 2015 2030 2050];t0=t(1);x0=x(1);fun=@(cs,td)cs(1)./(1+(cs(1)/x0-1)*exp(-cs(2)*(td-t0)));%S型曲线方程…...

    2024/4/20 21:03:58
  10. Unity3d 5 官方教程:UI

    UIUI系统允许用户迅速且直观地创建用户界面。本篇是对Unity的UI系统主要特性的介绍。 相关教程:用户界面CanvasCanvas是所有UI元素应当存放于内的区域。Canvas是一个有Canvas组件的游戏对象,并且所有UI对象必须是这样一个Canvas对象的子对象。 创建一个新的UI元素,例如使用…...

    2024/4/20 21:03:57
  11. 全栈技术详解1-个人贷款违约预测模型

    全栈技术详解1-个人贷款违约预测模型1.1数据介绍1.2业务分析1.3数据理解1.4数据整理1.5建立分析模型 教科书中一般提供了建模使用的宽表,我们学习的是建立一个逻辑回归模型作预测。但是当我们面临许多张原始客户或帐户数据表时,很可能手足无措。建模的人都知道构建建模宽表(…...

    2024/4/21 0:22:28
  12. Ubuntu16.04下搭建Eclipse C++开发环境

    ubuntu下使用Eclipse下搭建开发环境基本上网上教程一大堆,但是复杂度太大,因为很多教程都是从JDK开始安装一直到最后,而且很多都是从别的linux发行版上弄来的方法,各种编译直接吓死人有木有,其实ubuntu的方便之处很大程度上在于atp的使用,抹杀了atp-get的ubuntu那就太鸡肋…...

    2024/4/21 0:22:27
  13. 【Unity3D】自学之路2.0

    Note: 因上一期 《Unity3D自学之路》 系列教程资源比较旧(2018.7.9) 很多资源图片资源失效 故更新 《Unity3D自学之路2.0》2020.3.11 船新版本 在新的一年,大家一起加油 JulyOctober2019AprilJulyOctober20201.0版本 2.0版本 版本版本更新 旧版本: 2018.7.9-《Unity3D自学之…...

    2024/4/21 0:22:26
  14. Ubuntu16.04LTS安装eclipse C++

    选择eclipseIDE 来调试C/C++ 以前编程都是vim+makefile 这种方式写个小程序(几百行)还可以基本用printf调试 gdb不熟练 所以当调试大工程时间调试程序很烦躁,经过查阅对比,最终准备选择eclipse来调试程序 ,以前用过anjuta调试caffe 还凑合 需要安装JDK + Eclipse -cpp…...

    2024/4/21 0:22:25
  15. JDD人口动态普查与预测-搭建时间序列模型

    前一段时间参加了京东的算法大赛陪跑了一下,试了各种算法,包括lightbgm,xgboost,lstm以及简单的时间序列模型,发现效果最好的竟然是最简单的ARIMA时间序列预测模型,不知道是不是我没有调参还是模型太过简单,因为时间也不是很多,最后那几天真的是很赶,赶着搭建lstm模型(…...

    2024/4/28 12:27:08
  16. 2018之后的Unity3d制作AR教程

    自2017.4以后的unity版本,AR的SDK已经被集成,那么如何用2018unity3d制作AR呢? 1.首先打开Unity3d2018,然后打开File->Building Setting,接着打开PlayerSetting,找到XR Setting 设置,勾选Virtual Reality Supported,Vuforia Augmented Reality这时会弹出下载一个文件,…...

    2024/4/21 0:22:23
  17. mount,umount命令详解

    mount:用于挂载Linux系统外的文件语法:mount [-hV]mount -a [-fFnrsvw] [-t vfstype]mount [-fnrsvw] [-t vfstype] [-o options] 设备 挂载点参数:-V:显示程序版本-h:显示辅助讯息-v:显示较讯息,通常和 -f 用来除错。-a:将 /etc/fstab 中定义的所有档案系统挂上。-F:这…...

    2024/4/21 0:22:22
  18. 如何快速从Ubuntu系统的eclipse下导出jar包(MapReduce程序)

    为了通过命令行执行MapReduce程序,要把写的代码导出jar包,下面就介绍一下快速从eclipse下导出jar包: 1、右击想要导出jar包的工程,点击Export:2、点击JAR file:3、选择自己想要存放jar包的目录并填写jar包的名字:4、选择应用程序的入口,即默认执行的主函数,点击Finish…...

    2024/4/21 0:22:21
  19. MAC中开发Unity3D

    一直想做3D开发,去年后半年开始学IOS下的OpenGL,只学会了纹理,而且灯光音效什么的好麻烦,于是想学学Unity3D。 今年年初就计划上了,可是Unity3D收费,费用不便宜呢。用Unity3D开发了游戏也不能上传AppStore,除非工作上用,不然个人开发代价有点大。 后来听说Unity3D基础版…...

    2024/5/6 5:52:00
  20. linux挂载命令mount-43

    linux挂载命令mount 在linux里面所有的可存储设备都需要挂载后才可以正常使用,不过硬盘是系统自动挂载,但是u盘,光盘,移动硬盘等就需要我们手动进行挂载了。相当于为设备分配一个盘符。一、查询与自动挂载1、挂载查询[root@localhost ~]# mount -l查询系统中已经挂载的设备…...

    2024/4/21 0:22:20

最新文章

  1. 51-48 CVPR 2024 | Vlogger: make your dream a vlog 自编剧制作视频博客

    24年1月,上海交大、上海人工智能实验室、中科院联合发布Vlogger:make your dream a vlog。该论文主要工作是生成超过5分钟的视频博客vlog。鉴于现有文本到视频T2V生成方法很难处理复杂的故事情节和多样化的场景,本文提出了一个名为Vlogger的通…...

    2024/5/6 10:37:43
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/6 9:38:23
  3. 2024认证杯数学建模B题思路模型代码

    目录 2024认证杯数学建模B题思路模型代码:4.11开赛后第一时间更新,获取见文末名片 第十三届“认证杯”数学中国数学建模比赛赛后体会 2024认证杯数学建模B题思路模型代码:4.11开赛后第一时间更新,获取见文末名片 第十三届“认证杯”数学中国数学建模比…...

    2024/5/6 8:43:07
  4. 从头开发一个RISC-V的操作系统(二)RISC-V 指令集架构介绍

    文章目录 前提ISA的基本介绍ISA是什么CISC vs RISCISA的宽度 RISC-V指令集RISC-V ISA的命名规范模块化的ISA通用寄存器Hart特权级别内存管理与保护异常和中断 目标:通过这一个系列课程的学习,开发出一个简易的在RISC-V指令集架构上运行的操作系统。 前提…...

    2024/5/5 1:33:57
  5. Go语言中如何实现继承

    完整课程请点击以下链接 Go 语言项目开发实战_Go_实战_项目开发_孔令飞_Commit 规范_最佳实践_企业应用代码-极客时间 Go语言中没有传统意义上的类和继承的概念,但可以通过嵌入类型(embedded types)来实现类似的功能。嵌入类型允许一个结构…...

    2024/5/5 8:37:47
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57