网站你懂我意思正能量appWordPress无法取消置顶文章

web/2025/10/2 18:39:21/文章来源:
网站你懂我意思正能量app,WordPress无法取消置顶文章,wordpress 设置文件,小程序开发公司有哪些同学你好#xff01;本文章于2021年末编写#xff0c;获得广泛的好评#xff01; 故在2022年末对本系列进行填充与更新#xff0c;欢迎大家订阅最新的专栏#xff0c;获取基于Pytorch1.10版本的理论代码(2023版)实现#xff0c; Pytorch深度学习理论篇(2023版)目录地址…同学你好本文章于2021年末编写获得广泛的好评 故在2022年末对本系列进行填充与更新欢迎大家订阅最新的专栏获取基于Pytorch1.10版本的理论代码(2023版)实现 Pytorch深度学习·理论篇(2023版)目录地址为 CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录本专栏将通过系统的深度学习实例从可解释性的角度对深度学习的原理进行讲解与分析通过将深度学习知识与Pytorch的高效结合帮助各位新入门的读者理解深度学习各个模板之间的关系这些均是在Pytorch上实现的可以有效的结合当前各位研究生的研究方向设计人工智能的各个领域是经过一年时间打磨的精品专栏https://v9999.blog.csdn.net/article/details/127587345欢迎大家订阅(2023版)理论篇 以下为2021版原文~~~~ 1 过拟合问题的描述 1.1 过拟合问题概述 深度额学习训练过程中在训练阶段得到了较好的准确率但在识别非数据集数据时存在精度下降的问题这种现象称为过拟合现象。 主要原因由于模型的拟合度过高导致模型不仅学习样本的群体规律也学习样本的个体规律。 1.2 过拟合问题模型的设计 1.2.1 构建数据集---Over_fitting.py第1部分 import sklearn.datasets import torch import numpy as np import matplotlib.pyplot as plt from LogicNet_fun import LogicNet,moving_average,predict,plot_decision_boundary# 1 构建数据集 np.random.seed(0) # 设置随机数种子 X , Y sklearn.datasets.make_moons(40,noise0.2) # 生成两组半圆形数据 arg np.squeeze(np.argwhere(Y0),axis1) # 获取第1组数据索引 arg2 np.squeeze(np.argwhere(Y1),axis1) # 获取第2组数据索引 # 显示数据 plt.title(train moons data) plt.scatter(X[arg,0],X[arg,1],s100,cb,marker,label data1) plt.scatter(X[arg2,0],X[arg2,1],s40,cr,markero,label data2) plt.legend() plt.show() 1.2.2 搭建网络模型---Over_fitting.py第2部分 # 2 搭建网络模型 model LogicNet(inputdim2,hiddendim500,outputdim2) # 实例化模型增加拟合能力将hiddendim赋值为500 optimizer torch.optim.Adam(model.parameters(),lr0.01) # 定义优化器:反向传播过程中使用。 1.2.3 训练模型并将训练过程可视化---Over_fitting.py第3部分 # 3 训练模型训练过程loss可视化 xt torch.from_numpy(X).type(torch.FloatTensor) # 将numpy数据转化为张量 yt torch.from_numpy(Y).type(torch.LongTensor) # 将numpy数据转化为张量 epochs 1000 # 定义迭代次数 losses [] # 损失值列表 for i in range(epochs):loss model.getloss(xt,yt)losses.append(loss.item()) # 保存损失值中间状态optimizer.zero_grad() # 清空梯度loss.backward() # 反向传播损失值optimizer.step() # 更新参数 avgloss moving_average(losses) # 获得损失值的移动平均值 plt.figure(1) plt.subplot(211) plt.xlabel(step number) plt.ylabel(Training loss) plt.title(step number vs Training loss) plt.show() 1.2.4 将模型结果可视化观察过拟合现象---Over_fitting.py第4部分 # 4 模型结果可视化观察过拟合现象 plot_decision_boundary(lambda x: predict(model,x),X,Y) from sklearn.metrics import accuracy_score print(训练时的准确率,accuracy_score(model.predict(xt),yt)) # 重新生成两组半圆数据 Xtest,Ytest sklearn.datasets.make_moons(80,noise0.2) plot_decision_boundary(lambda x: predict(model,x),Xtest,Ytest) Xtest_t torch.from_numpy(Xtest).type(torch.FloatTensor) # 将numpy数据转化为张量 Ytest_t torch.from_numpy(Ytest).type(torch.LongTensor) print(测试时准确率,accuracy_score(model.predict(Xtest_t),Ytest_t)) 1.2.5 模型代码总览---Over_fitting.py总结 #####Over_fitting.pyimport sklearn.datasets import torch import numpy as np import matplotlib.pyplot as plt from LogicNet_fun import LogicNet,moving_average,predict,plot_decision_boundary# 1 构建数据集 np.random.seed(0) # 设置随机数种子 X , Y sklearn.datasets.make_moons(40,noise0.2) # 生成两组半圆形数据 arg np.squeeze(np.argwhere(Y0),axis1) # 获取第1组数据索引 arg2 np.squeeze(np.argwhere(Y1),axis1) # 获取第2组数据索引 # 显示数据 plt.title(train moons data) plt.scatter(X[arg,0],X[arg,1],s100,cb,marker,label data1) plt.scatter(X[arg2,0],X[arg2,1],s40,cr,markero,label data2) plt.legend() plt.show()# 2 搭建网络模型 model LogicNet(inputdim2,hiddendim500,outputdim2) # 实例化模型增加拟合能力将hiddendim赋值为500 optimizer torch.optim.Adam(model.parameters(),lr0.01) # 定义优化器:反向传播过程中使用。# 3 训练模型训练过程loss可视化 xt torch.from_numpy(X).type(torch.FloatTensor) # 将numpy数据转化为张量 yt torch.from_numpy(Y).type(torch.LongTensor) # 将numpy数据转化为张量 epochs 1000 # 定义迭代次数 losses [] # 损失值列表 for i in range(epochs):loss model.getloss(xt,yt)losses.append(loss.item()) # 保存损失值中间状态optimizer.zero_grad() # 清空梯度loss.backward() # 反向传播损失值optimizer.step() # 更新参数 avgloss moving_average(losses) # 获得损失值的移动平均值 plt.figure(1) plt.subplot(211) plt.xlabel(step number) plt.ylabel(Training loss) plt.title(step number vs Training loss) plt.show()# 4 模型结果可视化观察过拟合现象 plot_decision_boundary(lambda x: predict(model,x),X,Y) from sklearn.metrics import accuracy_score print(训练时的准确率,accuracy_score(model.predict(xt),yt)) # 重新生成两组半圆数据 Xtest,Ytest sklearn.datasets.make_moons(80,noise0.2) plot_decision_boundary(lambda x: predict(model,x),Xtest,Ytest) Xtest_t torch.from_numpy(Xtest).type(torch.FloatTensor) # 将numpy数据转化为张量 Ytest_t torch.from_numpy(Ytest).type(torch.LongTensor) print(测试时准确率,accuracy_score(model.predict(Xtest_t),Ytest_t)) LogicNet_fun.py ### LogicNet_fun.pyimport torch.nn as nn #引入torch网络模型库 import torch import numpy as np import matplotlib.pyplot as plt# 1.2 定义网络模型 class LogicNet(nn.Module): #继承nn.Module类构建网络模型def __init__(self,inputdim,hiddendim,outputdim): #初始化网络结构 》即初始化接口部分super(LogicNet,self).__init__()self.Linear1 nn.Linear(inputdim,hiddendim) #定义全连接层self.Linear2 nn.Linear(hiddendim,outputdim) #定义全连接层self.criterion nn.CrossEntropyLoss() #定义交叉熵函数def forward(self,x):# 搭建用两个全连接层组成的网络模型 》 即正向接口部分将网络层模型结构按照正向传播的顺序搭建x self.Linear1(x)# 将输入传入第一个全连接层x torch.tanh(x)# 将第一个全连接层的结果进行非线性变化x self.Linear2(x)# 将网络数据传入第二个全连接层return xdef predict(self,x):# 实现LogicNet类的预测窗口 》 即预测接口部分利用搭建好的正向接口得到模型预测结果#调用自身网络模型并对结果进行softmax()处理分别的出预测数据属于每一个类的概率pred torch.softmax(self.forward(x),dim1)# 将正向结果进行softmax()分别的出预测结果属于每一个类的概率return torch.argmax(pred,dim1)# 返回每组预测概率中最大的索引def getloss(self,x,y):# 实现LogicNet类的损失值接口 》 即损失值计算接口部分计算模型的预测结果与真实值之间的误差在反向传播时使用y_pred self.forward(x)loss self.criterion(y_pred,y)# 计算损失值的交叉熵return loss# 1.5 训练可视化 def moving_average(a,w10): #计算移动平均损失值if len(a) w:return a[:]return [val if idx w else sum(a[(idx - w):idx]) / w for idx, val in enumerate(a)]def moving_average_to_simp(a,w10): #if len(a) w:return a[:]val_list []for idx, val in enumerate(a):if idx w:# 如果列表 a 的下标小于 w, 直接将元素添加进 xxx 列表val_list.append(val)else:# 向前取 10 个元素计算平均值, 添加到 xxx 列表val_list.append(sum(a[(idx - w):idx]) / w)def plot_losses(losses):avgloss moving_average(losses)#获得损失值的移动平均值plt.figure(1)plt.subplot(211)plt.plot(range(len(avgloss)),avgloss,b--)plt.xlabel(step number)plt.ylabel(Training loss)plt.title(step number vs Training loss)plt.show()# 1.7 数据可视化模型 def predict(model,x): #封装支持Numpy的预测接口x torch.from_numpy(x).type(torch.FloatTensor)model LogicNet(inputdim2, hiddendim3, outputdim2)ans model.predict(x)return ans.numpy()def plot_decision_boundary(pred_func,X,Y): #在直角模型中实现预测结果的可视化#计算范围x_min ,x_max X[:,0].min()-0.5 , X[:,0].max()0.5y_min ,y_max X[:,1].min()-0.5 , X[:,1].max()0.5h0.01xx, yy np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))#根据数据输入进行预测Z pred_func(np.c_[xx.ravel(),yy.ravel()])Z Z.reshape(xx.shape)#将数据的预测结果进行可视化plt.contourf(xx,yy,Z,cmapplt.cm.Spectral)plt.title(Linear predict)arg np.squeeze(np.argwhere(Y0),axis1)arg2 np.squeeze(np.argwhere(Y1),axis1)plt.scatter(X[arg,0],X[arg,1],s100,cb,marker)plt.scatter(X[arg2,0],X[arg2,1],s40,cr,markero)plt.show() 2 改善过拟合现象的方法 2.1 过拟合现象产生的原因 因为神经网络在训练过程中只看到有限的信息在数据量不足的情况下无法合理地区分哪些属于个体特征哪些属于群体特征。而在真实场景下所有的样本特征都是多样的很难在训练数据集中将所有的样本情况全部包括。 2.2 有效改善过拟合现象的方法 2.2.1 early stopping 在发生过拟合之前提前结束训l练。这个方法在理论上是可行的但是这个结束的时间点不好把握。 2.2.2 数据集扩增(data augmentation) 让模型见到更多的情况可以最大化满足全样本但实际应用中对于未来事件的颈测却显得力不丛心。 2.2.3 正则化 通过范数的概念增强模型的泛化能力包括L1正则化、L2正则化(L2正则化也称为weight decay). 2.2.4 dropout 每次训练时舍去一些节点来增强泛化能力 3 正则化 在神经网络计算损失值的过程中在损失后面再加一项。这样损失值所代表的输出与标准结果间的误差就会受到干扰导致学习参数w和b无法按照目标方向来调整。实现模型无法与样本完全拟合的结果达到防止过拟合的效果。 3.1 正则化效果描述 不加正则化训练出来的模型  加了正则的模型表现  可以看到训练出来的模型太复杂会影响使用容易过拟合。  3.2 正则化的分类与公式 3.2.1 干扰项的特性 当欠拟合模型的拟合能力不足时希望它对模型误差影响尽量小让模型快速来拟合实际。 当过拟合模型的拟合能力过强时希望它对模型误差影响尽量大让模型不要产生过拟合的情况。 3.2.2 范数 L1所有学习参数w的绝对值的和 L2所有学习参数w的平方和然后求平方根 3.2.3 正则化的损失函数-L1 3.2.4 正则化的损失函数-L2 3.3 L2正则化的实现 3.3.1 正则化实现 使用weight_decay参数指定权重衰减率相当于L2正则化中的正则化系数用来调整正则化对loss的影响。 weight_decay参数默认对模型中的所有参数进行L2正则化处理包括权重w和偏置b。 3.3.2 优化器参数的方式实现正则化:字典的方式实现 optimizer torch.optim.Adam([{params:weight_p,weight_decay:0.001},{params:bias_p,weight_decay:0}],lr0.01) 字典中的param以指的是模型中的权重。将具体的权重张量放入优化器再为参数weight_decay赋值指定权重值哀减率便可以实现为指定参数进行正则化处理。 如何获得权重张量weight_p与bias_p # 主要通过实例化后的模型对象得到 weight_p , bias_p [],[] for name , p in model.named_parameters():if bias in name:bias_p [p]else:weight_p [p] 3.4 使用L2正则化改善模型的过拟合状况 3.4.1 修改Over_fitting.py 中的优化器部分 import sklearn.datasets import torch import numpy as np import matplotlib.pyplot as plt from LogicNet_fun import LogicNet,moving_average,predict,plot_decision_boundary# 1 构建数据集 np.random.seed(0) # 设置随机数种子 X , Y sklearn.datasets.make_moons(40,noise0.2) # 生成两组半圆形数据 arg np.squeeze(np.argwhere(Y0),axis1) # 获取第1组数据索引 arg2 np.squeeze(np.argwhere(Y1),axis1) # 获取第2组数据索引 # 显示数据 plt.title(train moons data) plt.scatter(X[arg,0],X[arg,1],s100,cb,marker,label data1) plt.scatter(X[arg2,0],X[arg2,1],s40,cr,markero,label data2) plt.legend() plt.show()# 2 搭建网络模型 model LogicNet(inputdim2,hiddendim500,outputdim2) # 实例化模型增加拟合能力将hiddendim赋值为500 #optimizer torch.optim.Adam(model.parameters(),lr0.01) # 定义优化器:反向传播过程中使用。 # 修改为 #添加正则化处理 weight_p , bias_p [],[] for name , p in model.named_parameters(): # 获取模型中的所有参数及参数名字if bias in name:bias_p [p] # 收集偏置参数else:weight_p [p] # 收集权重 optimizer torch.optim.Adam([{params:weight_p,weight_decay:0.001},{params:bias_p,weight_decay:0}],lr0.01) # 带有正则化处理的优化器 3.4.2 regularization01.py 总览 import sklearn.datasets import torch import numpy as np import matplotlib.pyplot as plt from LogicNet_fun import LogicNet,moving_average,predict,plot_decision_boundary# 1 构建数据集 np.random.seed(0) # 设置随机数种子 X , Y sklearn.datasets.make_moons(40,noise0.2) # 生成两组半圆形数据 arg np.squeeze(np.argwhere(Y0),axis1) # 获取第1组数据索引 arg2 np.squeeze(np.argwhere(Y1),axis1) # 获取第2组数据索引 # 显示数据 plt.title(train moons data) plt.scatter(X[arg,0],X[arg,1],s100,cb,marker,label data1) plt.scatter(X[arg2,0],X[arg2,1],s40,cr,markero,label data2) plt.legend() plt.show()# 2 搭建网络模型 model LogicNet(inputdim2,hiddendim500,outputdim2) # 实例化模型增加拟合能力将hiddendim赋值为500 #optimizer torch.optim.Adam(model.parameters(),lr0.01) # 定义优化器:反向传播过程中使用。 # 修改为 #添加正则化处理 weight_p , bias_p [],[] for name , p in model.named_parameters(): # 获取模型中的所有参数及参数名字if bias in name:bias_p [p] # 收集偏置参数else:weight_p [p] # 收集权重 optimizer torch.optim.Adam([{params:weight_p,weight_decay:0.001},{params:bias_p,weight_decay:0}],lr0.01) # 带有正则化处理的优化器# 3 训练模型训练过程loss可视化 xt torch.from_numpy(X).type(torch.FloatTensor) # 将numpy数据转化为张量 yt torch.from_numpy(Y).type(torch.LongTensor) # 将numpy数据转化为张量 epochs 1000 # 定义迭代次数 losses [] # 损失值列表 for i in range(epochs):loss model.getloss(xt,yt)losses.append(loss.item()) # 保存损失值中间状态optimizer.zero_grad() # 清空梯度loss.backward() # 反向传播损失值optimizer.step() # 更新参数 avgloss moving_average(losses) # 获得损失值的移动平均值 plt.figure(1) plt.subplot(211) plt.xlabel(step number) plt.ylabel(Training loss) plt.title(step number vs Training loss) plt.show()# 4 模型结果可视化观察过拟合现象 plot_decision_boundary(lambda x: predict(model,x),X,Y) from sklearn.metrics import accuracy_score print(训练时的准确率,accuracy_score(model.predict(xt),yt)) # 重新生成两组半圆数据 Xtest,Ytest sklearn.datasets.make_moons(80,noise0.2) plot_decision_boundary(lambda x: predict(model,x),Xtest,Ytest) Xtest_t torch.from_numpy(Xtest).type(torch.FloatTensor) # 将numpy数据转化为张量 Ytest_t torch.from_numpy(Ytest).type(torch.LongTensor) print(测试时准确率,accuracy_score(model.predict(Xtest_t),Ytest_t)) 4 数据集扩增(data augmentation) 4.1 数据集增广 增加数据集 4.2 通过增大数据集的方式改善过拟合的状况 4.2.1 修改Over_fitting.py 中的优化器部分 # 2 搭建网络模型 model LogicNet(inputdim2,hiddendim500,outputdim2) # 实例化模型增加拟合能力将hiddendim赋值为500 optimizer torch.optim.Adam(model.parameters(),lr0.01) # 定义优化器:反向传播过程中使用。# 3 训练模型训练过程loss可视化 # xt torch.from_numpy(X).type(torch.FloatTensor) # 将numpy数据转化为张量 # yt torch.from_numpy(Y).type(torch.LongTensor) # 将numpy数据转化为张量 # epochs 1000 # 定义迭代次数 # losses [] # 损失值列表 # for i in range(epochs): # loss model.getloss(xt,yt) # losses.append(loss.item()) # 保存损失值中间状态 # optimizer.zero_grad() # 清空梯度 # loss.backward() # 反向传播损失值 # optimizer.step() # 更新参数 # avgloss moving_average(losses) # 获得损失值的移动平均值# 修改为 epochs 1000 # 定义迭代次数 losses [] # 损失值列表 for i in range(epochs):X ,Y sklearn.datasets.make_moons(40,noise0.2)xt torch.from_numpy(X).type(torch.FloatTensor)yt torch.from_numpy(Y).type(torch.LongTensor)loss model.getloss(xt,yt)losses.append(loss.item())optimizer.zero_grad()loss.backward()optimizer.step()4.2.2 Data_increase.py import sklearn.datasets import torch import numpy as np import matplotlib.pyplot as plt from LogicNet_fun import LogicNet,moving_average,predict,plot_decision_boundary# 1 构建数据集 np.random.seed(0) # 设置随机数种子 X , Y sklearn.datasets.make_moons(40,noise0.2) # 生成两组半圆形数据 arg np.squeeze(np.argwhere(Y0),axis1) # 获取第1组数据索引 arg2 np.squeeze(np.argwhere(Y1),axis1) # 获取第2组数据索引 # 显示数据 plt.title(train moons data) plt.scatter(X[arg,0],X[arg,1],s100,cb,marker,label data1) plt.scatter(X[arg2,0],X[arg2,1],s40,cr,markero,label data2) plt.legend() plt.show()# 2 搭建网络模型 model LogicNet(inputdim2,hiddendim500,outputdim2) # 实例化模型增加拟合能力将hiddendim赋值为500 optimizer torch.optim.Adam(model.parameters(),lr0.01) # 定义优化器:反向传播过程中使用。# 3 训练模型训练过程loss可视化 # xt torch.from_numpy(X).type(torch.FloatTensor) # 将numpy数据转化为张量 # yt torch.from_numpy(Y).type(torch.LongTensor) # 将numpy数据转化为张量 # epochs 1000 # 定义迭代次数 # losses [] # 损失值列表 # for i in range(epochs): # loss model.getloss(xt,yt) # losses.append(loss.item()) # 保存损失值中间状态 # optimizer.zero_grad() # 清空梯度 # loss.backward() # 反向传播损失值 # optimizer.step() # 更新参数 # avgloss moving_average(losses) # 获得损失值的移动平均值# 修改为 epochs 1000 # 定义迭代次数 losses [] # 损失值列表 for i in range(epochs):X ,Y sklearn.datasets.make_moons(40,noise0.2)xt torch.from_numpy(X).type(torch.FloatTensor)yt torch.from_numpy(Y).type(torch.LongTensor)loss model.getloss(xt,yt)losses.append(loss.item())optimizer.zero_grad()loss.backward()optimizer.step()plt.figure(1) plt.subplot(211) plt.xlabel(step number) plt.ylabel(Training loss) plt.title(step number vs Training loss) plt.show()# 4 模型结果可视化观察过拟合现象 plot_decision_boundary(lambda x: predict(model,x),X,Y) from sklearn.metrics import accuracy_score print(训练时的准确率,accuracy_score(model.predict(xt),yt)) # 重新生成两组半圆数据 Xtest,Ytest sklearn.datasets.make_moons(80,noise0.2) plot_decision_boundary(lambda x: predict(model,x),Xtest,Ytest) Xtest_t torch.from_numpy(Xtest).type(torch.FloatTensor) # 将numpy数据转化为张量 Ytest_t torch.from_numpy(Ytest).type(torch.LongTensor) print(测试时准确率,accuracy_score(model.predict(Xtest_t),Ytest_t))

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

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

相关文章

长春企业免费建站360地图怎么添加商户

2019独角兽企业重金招聘Python工程师标准>>> 开始写博客,自己是边学习边做开发,将自己开发的过程记录下来,能够对学习的知识进行梳理,也可以对学习做个总结。 首先是对项目的介绍: 做一个功能全面的软件&am…

兰州企业网站建设做最好最全的命理网站

2019独角兽企业重金招聘Python工程师标准>>> MySQL并不是跳过offset行,而是取offsetN行,然后返回放弃前offset行,返回N行,那当offset 特别大的时候,效率就非常的低下,要么控制返回的总页数&…

苏州营销网站建设公司排名开发h5网站开发

base64原理及其编解码的python实现base64base64简介base64编码表base64编码原理base64编解码的python实现其他base编码base16base32base36、base58、 base62、 base85、base91、 base92base64 base64简介 base64是一种基于64个可打印字符来表示二进制数据的表示方法。2664&am…

做网站最好用的软件系统开发和网站开发

一、概述 布隆过滤器本质上是一个很长的二进制数组,主要用来判断一个数据存不存在数组里,如果存在就用1表示,不存在用0表示,它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 …

广州网站外贸推广青岛网站优化多少钱

简单工厂模式 可以根据参数的不同返回不同类的实例 参考: CSDN|简单工厂模式 简单工厂通过传给工厂类的参数的不同,返回不同的对象,包括三部分组成: 具体的”产品“工厂类(实例化并返回”产品“)客户端&am…

怎么在京东做网站网站建设相关新闻

事务简介 事务(transaction)是传统数据库所具备的一项基本能力,其根本目的是为数据的可靠性与一致性提供保障。而在通常的实现中,事务包含了一个系列的数据库读写操作,这些操作要么全部完成,要么全部撤销。…

湖北省建设招投标监督机构网站中国半导体设备

该错误提示表示您的 OpenSSL 版本过低,无法兼容 urllib3 v2.0。 解决此问题的方法是升级您的 OpenSSL 版本至 1.1.1 或以上。具体操作如下: 方法一: 检查您的 OpenSSL 版本,使用以下命令: openssl version 如果您的…

郑州做网站和域名云南7省建设厅网站

2.6内核以后,多数驱动都是以平台总线的方式编写,因此对于这种类型的驱动,实际就是要分成两个流程来分析 平台总线设备的构造,平台总线驱动的构造。 下面先分析平台总线设备的构造,平台总线设备里是硬件相关的信息&am…

高校网站建设需求分析报告购物网站模板 php

重构:改善既有代码的设计(评注版) 评注者序评注者序近十年来,若要讨论如何改进代码的质量,很难绕过Martin Fowler的这本经典著作。这本书已经影响了几代程序员,或许会持续不断地影响未来的一批程序员。遗憾…

企业网站建设费用预算微信软文范例100字

1.前提 主要功能切换host 2.下载路径 https://oldj.github.io/SwitchHosts/ 3.使用略(太简单)转载于:https://www.cnblogs.com/totoro-cat/p/9987101.html

有做二手厨房设备的网站吗wordpress默认页面设置方法

什么是wttr? 使用Python预测天气的第一步,我们要了解wttr是什么。wttr.in是一个面向控制台的天气预报服务,它支持各种信息表示方法,如面向终端的ANSI序列(用于控制台HTTP客户端(curl、httpie或wget))、HTML(用于web浏览器)或PNG(…

协会网站建设公司建网站流程

【运维工程师学习三】shell编程 Shell程序分类1、系统中sh命令是bash的软链接2、Shell脚本标准格式之文件后缀3、Shell脚本标准格式之文件内容首行4、Shell脚本的运行方法一、作为可执行程序解释 二、作为解释器(bash)参数 5、find、grep、xargs、sort、…

电子商务网站功能模块如何申请一个网站

A Simple Interconnection Network 一个简单的互连网络 2.1 网络规范和约束2.2 拓扑2.3 路由2.4 流量控制2.5 路由器设计性能分析 A Simple Interconnection Network 一个简单的互连网络 我们将研究简单互连网络的架构和设计,以提供全局视图。我们将研究最简单的…

盐城网站优化价格游戏工作室加盟

大家好,如果您在并发Java应用程序中工作,那么您可能听说过java.util.concurrent包的Exchanger类。 Java中的Exchanger是Java 1.5中与CountDownLatch , CyclicBarrier和Semaphores一起引入的另一个并发或同步实用程序。 顾名思义, …

门户网站建设基础术语四川住房和城乡建设厅

1、下载Redis Redis官网:https://redis.io/ 历史版本: http://download.redis.io/releases 2、连接Linux(或者VMwear) 我们安装的是linux版本的redis 打开xftp我们需要先将我们的Redis上传到服务器上 解压到这里 解压的指令 …

凡科建站相关链接建筑模板做凳子

【ES6.0】- Promise对象 文章目录 【ES6.0】- Promise对象一、概述二、Promise状态三、Promise方法3.1 Promise.prototype.then方法:链式操作3.2 Promise.prototype.catch方法:捕捉错误3.3 Promise.race方法:捕捉错误3.4 Promise.any()3.5 Pr…

做网站最省钱中铁建设集团

在模拟或设计软件中创建道路并指定其特征是一个复杂但必要的过程,尤其是在进行交通模拟、城市规划或道路设计项目时。以下是一个步骤化的指南,用于说明如何创建道路特征: 水平剖面: 使用设计软件的绘图工具来绘制道路的中心线或边…

wordpress多站点 用户四川学校网站建设

antlr4 代码 语法树DSL是很酷的东西,但我不清楚它们有什么用。 然后我意识到它们对以下方面有好处: 摆脱复杂的UI 意思是 更快的做事方式 而已。 当我阅读此博客时,我得出了这个结论。 如果您的用户是技术人员,并且不惧怕类…

服装网站开发手机网站推荐哪些

来源:计算机研究与发展前 言近几年来人工智能技术的飞速发展使得其应用迅猛扩大,而传统的计算机体系结构对于面向人工智能的应用在处理速度、能耗、使用的方便性等方面有着诸多不足。随着人工智能应用的发展,面向人工智能的体系结构成为体系结…

有无广告销售版本"有广告免费无广告收费"网站短网址还原在线生成

最近在网上看到了荧光图,觉得挺帅气,去网上查询了怎么制作荧光图,发现大部分都是QGIS的教程,作为ArcGIS的死忠用户,决定在ArcGIS Pro中实现,其实挺简单的。 1、软件:ArcGIS Pro3.0 2、点数据&a…