先后端对接之jsonhtml
前端有若干个模块,包括神经网络层和经典模型可供用户选择,用户根据这些模块来搭建模型。正则表达式
static里面是须要用户指定的全局变量。json
一个数组,每一个数组元素对应用户所链接的 一条边,同时记录了两个端点的字段信息,还附加了一个区别于其余端点的id字段和 表明该端点是不是根节点的字段。 (2)调用方法:调用/VisualPytorch/VisualPytorch/ops.py下的main_func(edge_record) 便可,其中,edge_record为(1)中前端传给后端的数据,该函数的返回值为三个字 符串数组,依次为main.py,model.py,ops.py的内容。后端
只涉及到两种输入方式,包括表单输入类型以及选项类型,与以前相同。数组
关于输入的词法合法性由前端解决,而语法合法性由后端网络
例如:shape(string),合法输入为 : 2,2ide
若是输入3?3则前端报错函数
若是输入与前一个网络层的输出不匹配,则由后端报错学习
每一个参数规范以下:
以in_channel(int):输入通道数 非0正数
in_channel为json格式中对应的attribute名
int为数据类型
输入通道数为对应的中文含义,能够忽略也能够在前端中给出
非0正数为对输入数据的要求,若是不符合应在前端报错
数据类型正则表达式以下:
<整数> ^(\+|\-)?(\d+)$ <正整数> ^\+?[1-9]\d*$ <非负整数> ^\+?\d+$ <非负整数及-1> $\+?\d+|\-1$ <非负数> ^(0|[1-9][0-9]*)(\.\d+)?$ <正数> ^([1-9][0-9]*(\.\d+)?)|(0\.\d+)$ <X序列> ^(<X>)(\s*,\s*(<X>))*$ 例如:<非负整数及-1序列> ^(\+?\d+|\-1)(\s*,\s*(\+?\d+|\-1))*$ <非负整数序列> ^(\+?\d+)(\s*,\s*(\+?\d+))*$ <0-1间实数> ^0(.\d+)?|1$ <0-1内实数> ^0.\d+$
注意:
注意:view_layer为json中layer_type,reshape层为网页中显示的名字,下同
view_layer:reshape层(与以前保持相同)
linear_layer:全链接层(与以前保持相同)
element_wise_add_layer:元素级相加层(与以前保持相同)
concatenate_layer:channel维度拼接层(与以前保持相同)
softmax_layer:softmax层(新增,从卷积层分离)
dropout_layer:dropout层(新增网络层)
type:下拉框,包括1d/2d/3d 默认值为2d
p<0-1间实数>:置0几率 默认值为0.5
layer_type:下拉框二选一,conv/conv_transpose 默认值为conv
conv和conv_transpose参数相同
type:下拉框三选一,选项包括1d/2d/3d 默认值为2d
in_channels<正整数>:输入通道数 无默认值
out_channels<正整数>:输出通道数 无默认值
kernel_size <正整数> : 卷积核的尺寸 默认值为3
stride<正整数> : 卷积步长 默认值为1
padding<非负整数> : 补充0的层数 默认值为0
layer_type:下拉框三选一,选项包括max_pool/avg_pool/max_unpool 默认值为max_pool
max_pool参数:
type:下拉框三选一,选项包括1d/2d/3d 默认值为2d
kernel_size <正整数> : 卷积核的尺寸 默认值为2
stride <正整数> : 卷积步长默认值为2
padding <非负整数> : 补充0的层数 默认值为0
avg_pool:
type:下拉框三选一,选项包括1d/2d/3d 默认值为2d
kernel_size<正整数> : 卷积核的尺寸 默认值为2
stride<正整数> : 卷积步长 默认值为2
padding <非负整数> : 补充0的层数 默认值为0
ceil_mode:下拉框二选一,ceil/floor 默认值为floor
count_include_pad(勾选框,默认为勾选,在json中为True,不然为False):平均计算中包括零填充 默认值为true
max_unpool参数:
type(下拉框三选一,选项包括1d/2d/3d) : 卷积形式 默认值为2d
kernel_size <正整数> : 卷积核的尺寸 默认值为2
stride<正整数> : 卷积步长 默认值为2
padding<非负整数> : 补充0的层数 默认值为0
layer_type:下拉框,包括relu/sigmoid/tanh/leaky relu/PRelu/RRelu 默认值为relu
relu:无参数
sigmoid:无参数
tanh:无参数
leaky relu:
negative_slope<正数> 默认值为0.01
PRelu: 相似leaky relu, 可是负数部分斜率可学习
RRelu: 相似leaky relu, 可是负数部分斜率为随机均匀分布
lower<正数>:均匀分布下限 默认值为0.125
upper<正数>:均匀分布上限 默认值为0.333
input_size<正整数>:输入特征数 无默认值
hidden_size<正整数>:隐藏层个数 无默认值
num_layers<正整数>:递归层层数 默认值为1
nonlinearity(二选一,tanh/relu):非线性激活 默认为tanh
input_size<正整数>:输入特征数 无默认值
hidden_size<正整数> :隐藏层个数 无默认值
num_layers<正整数>:递归层层数 默认值为1
下拉框,选项包括batch_norm/group_norm/instance_norm 默认值为batch_norm
batch_norm参数:
type:下拉框,包括1d/2d/3d 默认值为2d
num_features<正整数>:输入特征数 无默认值
group_norm参数:
num_groups<正整数>:input_channel分组数 无默认值
num_channel<正整数>:input_channel个数无默认值
instance_norm参数:
type:下拉框,包括1d/2d/3d 默认值为2d
num_features<正整数>:输入特征数 无默认值
epoch<正整数>:全数据集训练次数 默认值为10
learning_rate<0-1内实数>:学习率 默认值为0.01
batch_size<正整数>:每次训练个数 默认值为1
dataset(下拉框,共包含mnist,cifar10,stl10,svhn,jena,glove):训练数据集 默认值为mnist
ifshuffle(勾选框,默认为勾选,在json中为True,不然为False):是否打乱数据集 默认为true
platform(下拉框,共包含CPU,GPU):运行平台 默认CPU
下拉框,共包括StepLR, MultiStepLR, ExponentialLR, CosineAnnealingLR,ReduceLROnPleateau,None 默认值为None
stepLR:
step_size<正整数>:衰减周期 默认值为50
gamma<0-1内实数>:衰减幅度 默认值0.1
MultiStepLR:
milestones<非负整数序列>:衰减时间点 默认值为50
用户能够输入多个数字,包括全部非负整数,同维度数字之间以英文的“,”分开,例如1,2,3,4,5
gamma<0-1内实数>:衰减幅度 默认值0.1
ExponentialLR:
CosineAnnealingLR:
T_max<正整数>:降低周期(变化的半周期)默认值为50
eta_min<正数>:最小学习率 默认值为0
ReduceLROnPleateau:监控指标,当指标再也不变化则调整
下拉框,共包含SGD,RMSprop,Adam,Adamax,ASGD 默认值为Adam
SGD:Stochastic Gradient Descent
ASGD: Averaged Stochastic Gradient Descent
Adam:
RMSprop:
Adammax: 无穷范数的Adam的变体
下拉框,共包含MSELoss,CrossEntropyLoss,L1Loss,NLLLoss,BCELoss 默认值为MSELoss
MSELoss:均方偏差
CrossEntropyLoss:交叉熵损失
L1Loss:mean absolute error(MAE)
NLLLoss:negative log likelihood loss
BCELoss:Binary Cross Entropy between the target and the output