山西网站设计,网站优化搜索排名,电商怎么做,西安找工作哪个网站好网络结构#xff0c;输入为2个数#xff0c;先经过10个节点的全连接层#xff0c;再经过10个节点的ReLu#xff0c;再经过10个节点的全连接层#xff0c;再经过1个节点的全连接层#xff0c;最后输出。 #-*-coding:utf-8-*- import logging
import math
import random
im… 网络结构输入为2个数先经过10个节点的全连接层再经过10个节点的ReLu再经过10个节点的全连接层再经过1个节点的全连接层最后输出。 #-*-coding:utf-8-*- import logging
import math
import random
import mxnet as mx # 导入 MXNet 库
import numpy as np # 导入 NumPy 库这是 Python 常用的科学计算库logging.getLogger().setLevel(logging.DEBUG) # 打开调试信息的显示设置超参数
n_sample 10000 # 训练用的数据点个数
batch_size 10 # 批大小
learning_rate 0.1 # 学习速率
n_epoch 10 # 训练 epoch 数生成训练数据
# 每个数据点是在 (0,1) 之间的 2 个随机数
train_in [[ random.uniform(0, 1) for c in range(2)] for n in range(n_sample)]
train_out [0 for n in range(n_sample)] # 期望输出先初始化为 0
for i in range(n_sample):# 每个数据点的期望输出是 2 个输入数中的大者train_out[i] max(train_in[i][0], train_in[i][1])定义train_iter为训练数据的迭代器data为输入数据label为标签对应train_outshuffle代表每个epoch会随机打乱数据
train_iter mx.io.NDArrayIter(data np.array(train_in), label {reg_label:np.array(train_out)}, batch_size batch_size, shuffle True)定义网络结构src为输入层fc1,fc2,fc3是全连接层act1,act2是ReLu层num_hidden代表神经元个数data是输入数据name是输出
src mx.sym.Variable(data) # 输入层
fc1 mx.sym.FullyConnected(data src, num_hidden 10, name fc1) # 全连接层
act1 mx.sym.Activation(data fc1, act_type relu, name act1) # ReLU层
fc2 mx.sym.FullyConnected(data act1, num_hidden 10, name fc2) # 全连接层
act2 mx.sym.Activation(data fc2, act_type relu, name act2) # ReLU层
fc3 mx.sym.FullyConnected(data act2, num_hidden 1, name fc3) # 全连接层
定义net为输出层采用线性回归输出MXNet会自动使用MSE作为损失函数输入数据为fc3输出层命名为reg
net mx.sym.LinearRegressionOutput(data fc3, name reg) # 输出层定义变量module需训练的网络模组网络的输出symbol为net期望标签名label_names为reg_label
module mx.mod.Module(symbol net, label_names ([reg_label]))定义module.fit进行训练
module.fit(train_iter, # 训练数据的迭代器eval_data None, # 在此只训练不使用测试数据eval_metric mx.metric.create(mse), # 输出 MSE 损失信息#将权重和偏置初始化为在[-0.5,0.5]间均匀的随机数initializermx.initializer.Uniform(0.5),optimizer sgd, # 梯度下降算法为 SGD# 设置学习速率optimizer_params {learning_rate: learning_rate}, num_epoch n_epoch, # 训练 epoch 数# 每经过 100 个 batch 输出训练速度 batch_end_callback None, epoch_end_callback None,
)#输出最终参数
for k in module.get_params():print(k) 转载于:https://www.cnblogs.com/cold-city/p/10460392.html