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

移动端网站开发最好的环境有哪些公司的网站设计的好

移动端网站开发最好的环境,有哪些公司的网站设计的好,临淄网站制作价格低,漯河市建设工程信息网使用Pytorch构建自定义层并在模型中使用 继承自nn.Module类#xff0c;自定义名称为NoisyLinear的线性层#xff0c;并在新模型定义过程中使用该自定义层。完整代码可以在jupyter nbviewer中在线访问。 import torch import torch.nn as nn from torch.utils.data import T…使用Pytorch构建自定义层并在模型中使用 继承自nn.Module类自定义名称为NoisyLinear的线性层并在新模型定义过程中使用该自定义层。完整代码可以在jupyter nbviewer中在线访问。 import torch import torch.nn as nn from torch.utils.data import TensorDataset, DataLoaderimport numpy as np import matplotlib.pyplot as plt %matplotlib inline from mlxtend.plotting import plot_decision_regionsprint(torch.__version__) print(np.__version__)2.0.1cu118 1.24.4创建一个包含有噪声的线性层 class NoisyLinear(nn.Module):def __init__(self, input_size, output_size, noise_stddev0.1):super().__init__()w torch.Tensor(input_size, output_size)self.w nn.Parameter(w)nn.init.xavier_uniform_(self.w)b torch.Tensor(output_size).fill_(0)self.b nn.Parameter(b)self.noise_stddev noise_stddevdef forward(self, x, trainingFalse):if training:noise torch.normal(0.0, self.noise_stddev, x.shape)x_new torch.add(x, noise)else:x_new xreturn torch.add(torch.mm(x_new, self.w), self.b)这段代码定义了一个名为 NoisyLinear 的类它继承自 nn.Module表示一个包含噪声的线性层。 class NoisyLinear(nn.Module):定义一个名为 NoisyLinear 的类它继承自 PyTorch 的 nn.Module 类。这意味着它可以被用作一种神经网络层。 def __init__(self, input_size, output_size, noise_stddev0.1):初始化方法 __init__ 接受三个参数输入大小 input_size输出大小 output_size以及噪声的标准差 noise_stddev默认值为 0.1。 super().__init__()调用父类 nn.Module 的初始化方法以确保父类的相关属性和方法被正确初始化。 w torch.Tensor(input_size, output_size)创建一个形状为 (input_size, output_size) 的张量 w用于存储权重。 self.w nn.Parameter(w)将权重 w 包装为 nn.Parameter这意味着在训练过程中PyTorch 会自动将其视为可学习参数。 nn.init.xavier_uniform_(self.w)使用 Xavier 均匀分布对权重 self.w 进行初始化。这是一种常用的初始化方法有助于保持神经网络中信号的方差。 b torch.Tensor(output_size).fill_(0)创建一个形状为 (output_size,) 的张量 b并将其填充为 0用于存储偏置。 self.b nn.Parameter(b)将偏置 b 包装为 nn.Parameter使其在训练过程中也是可学习的。 self.noise_stddev noise_stddev将噪声的标准差 noise_stddev 存储为类的一个属性用于后续的噪声计算。 def forward(self, x, trainingFalse):定义前向传播方法 forward接受输入 x 和一个布尔参数 training指示当前是否在训练模式下。 if training:检查当前是否处于训练模式。 noise torch.normal(0.0, self.noise_stddev, x.shape)如果是训练模式则创建一个与输入 x 形状相同的噪声张量 noise其服从均值为 0、标准差为 self.noise_stddev 的正态分布。 x_new torch.add(x, noise)将噪声添加到输入 x 上得到新的输入 x_new。 else:如果不是训练模式则执行以下代码。 x_new x在非训练模式下x_new 直接设置为输入 x即没有添加噪声。 return torch.add(torch.mm(x_new, self.w), self.b)计算输出首先用 torch.mm 进行矩阵乘法x_new 和权重 self.w然后将偏置 self.b 添加到结果中。最后返回计算出的输出。 总结来说这个类实现了一个带噪声的线性变换在线性层中可以根据训练模式选择性地添加噪声。 # 上述层的使用示例. # 1、实例化这个层并调用三次. torch.manual_seed(1)noisy_layer NoisyLinear(4, 2) x torch.zeros((1, 4)) print(noisy_layer(x, trainingTrue))print(noisy_layer(x, trainingTrue))print(noisy_layer(x, trainingFalse))tensor([[ 0.1154, -0.0598]], grad_fnAddBackward0) tensor([[ 0.0432, -0.0375]], grad_fnAddBackward0) tensor([[0., 0.]], grad_fnAddBackward0)在一个示例数据上构建一个包含该自定义层的模型 # 生成一个示例数据. np.random.seed(1) torch.manual_seed(1) x np.random.uniform(low-1, high1, size(200, 2)) y np.ones(len(x)) y[x[:, 0] * x[:, 1]0] 0n_train 100 x_train torch.tensor(x[:n_train, :], dtypetorch.float32) y_train torch.tensor(y[:n_train], dtypetorch.float32) x_valid torch.tensor(x[n_train:, :], dtypetorch.float32) y_valid torch.tensor(y[n_train:], dtypetorch.float32)fig plt.figure(figsize(6, 6)) plt.plot(x[y0, 0], x[y0, 1], o, alpha0.75, markersize10) plt.plot(x[y1, 0], x[y1, 1], , alpha0.75, markersize10) plt.xlabel(r$x_1$, size15) plt.ylabel(r$x_2$, size15) plt.tight_layout() plt.show()# 创建一个DataLoader. train_ds TensorDataset(x_train, y_train) batch_size 2 torch.manual_seed(1)# 使用DataLoader加载数据batchsize为2. train_dl DataLoader(train_ds, batch_size, shuffleTrue)# 创建一个新的模型并且调用上述的自定义层. class MyNoiseModule(nn.Module):def __init__(self):super().__init__()self.l1 NoisyLinear(2, 4, 0.07)self.a1 nn.ReLU()self.l2 nn.Linear(4, 4)self.a2 nn.ReLU()self.l3 nn.Linear(4, 1)self.a3 nn.Sigmoid()def forward(self, x, trainingFalse):x self.l1(x, training)x self.a1(x)x self.l2(x)x self.a2(x)x self.l3(x)x self.a3(x)return xdef predict(self, x):self.eval()with torch.no_grad():x torch.tensor(x, dtypetorch.float32)pred self.forward(x)[:, 0]return (pred0.5).float()# 模型实例化. torch.manual_seed(1) model MyNoiseModule() modelMyNoiseModule((l1): NoisyLinear()(a1): ReLU()(l2): Linear(in_features4, out_features4, biasTrue)(a2): ReLU()(l3): Linear(in_features4, out_features1, biasTrue)(a3): Sigmoid() )# 3.在训练training batch上计算预测结果. loss_fn nn.BCELoss() optimizer torch.optim.SGD(model.parameters(), lr0.015)# 模型训练设置epochs200 torch.manual_seed(1) num_epochs 200def train(model, num_epochs, train_dl, x_valid, y_valid):loss_hist_train [0] * num_epochsacc_hist_train [0] * num_epochsloss_hist_valid [0] * num_epochsacc_hist_valid [0] * num_epochsfor epoch in range(num_epochs):for x_batch, y_batch in train_dl:pred model(x_batch, True)[:, 0]loss loss_fn(pred, y_batch)loss.backward()optimizer.step()optimizer.zero_grad()loss_hist_train[epoch] loss.item()is_correct ((pred0.5).float() y_batch).float()acc_hist_train[epoch] is_correct.mean()loss_hist_train[epoch] / n_train/batch_sizeacc_hist_train[epoch] / n_train/batch_sizepred model(x_valid)[:, 0]loss loss_fn(pred, y_valid)loss_hist_valid[epoch] loss.item()is_correct ((pred0.5).float() y_valid).float()acc_hist_valid[epoch] is_correct.mean()return loss_hist_train, loss_hist_valid, \acc_hist_train, acc_hist_validhistory train(model, num_epochs, train_dl, x_valid, y_valid)# 绘制决策边界. fig plt.figure(figsize(16, 4)) ax fig.add_subplot(1, 3, 1) plt.plot(history[0], lw4) plt.plot(history[1], lw4) plt.legend([Train loss, Validation loss], fontsize15) ax.set_xlabel(Epochs, size15)ax fig.add_subplot(1, 3, 2) plt.plot(history[2], lw4) plt.plot(history[3], lw4) plt.legend([Train acc., Validation acc.], fontsize15) ax.set_xlabel(Epochs, size15)ax fig.add_subplot(1, 3, 3) plot_decision_regions(Xx_valid.numpy(), yy_valid.numpy().astype(np.int64),clfmodel) ax.set_xlabel(r$x_1$, size15) ax.xaxis.set_label_coords(1, -0.025) ax.set_ylabel(r$x_2$, size15) ax.yaxis.set_label_coords(-0.025, 1) plt.show()
http://www.w-s-a.com/news/722023/

相关文章:

  • 手机端便民服务平台网站建设昆明网络哪家好
  • 产品网站建设找哪家舟山信息港
  • 唐山网站建设汉狮怎么样seol英文啥意思
  • 深圳小程序网站开发公司网页制作模板视频教程
  • 电子商务网站开发开题报告wordpress更改后台地址
  • 网站静态前端是什么工作
  • 餐饮门户网站 方案怎么做创业好项目
  • 做百度手机网站推广普通话的宣传标语
  • 记事本可以做网站吗网站服务器是主机吗
  • 手机网站被拦截怎么办怎么解决东营建设信息网网
  • 外贸网站模板免费微信网站开发技术
  • 视频盗版网站怎么做福州网站seo
  • 成都金铭 网站建设做网站包含的技术
  • 长沙的网站建设公司哪家好做网站应选那个主题
  • 公司网站百度搜不到如何自己做一个网站
  • 学生如何建设网站网站开发程序
  • 网站建设公司哪家好 皆来磐石网络网站建设"淘宝网" 在颜色选取和搭配方面有哪些值得学习的地方.
  • 网站如何做移动规则适配北京住房与城乡建设部网站
  • 课堂阵地建设网站wordpress运行机制
  • 网站建设的需求方案企业网站建设费用明细
  • 创口贴网站模板京创影视app
  • 团购网站建设目的网站有很多304状态码
  • 运用阿里云怎么做网站外资企业可以在中国境内做网站吗
  • 云南住房和城乡建设局网站西安做官网的公司
  • 企业网站图片上传网站建设和应用的情况
  • 网站不显示内容吗聊城网架公司
  • 南昌网站建设企业网站托管外包怎么做
  • 做非洲外贸的网站网站可以用PS设计吗
  • PHP搭建IDC网站青岛福瀛建设集团网站
  • 安徽网站优化多少钱软件界面设计的基本原则