zoukankan      html  css  js  c++  java
  • alpha前后端接口文档(一)

    前后端对接之json

    alpha前后端接口文档(二)

    功能说明

    1. 前端有若干个模块,包括神经网络层经典模型可供用户选择,用户根据这些模块来搭建模型。

    2. static里面是需要用户指定的全局变量。

    3. 一个数组,每个数组元素对应用户所连接的 一条边,同时记录了两个端点的字段信息,还附加了一个区别于其他端点的id字段和 代表该端点是否是根节点的字段。 (2)调用方法:调用/VisualPytorch/VisualPytorch/ops.py下的main_func(edge_record) 即可,其中,edge_record为(1)中前端传给后端的数据,该函数的返回值为三个字 符串数组,依次为main.py,model.py,ops.py的内容。

    4. 只涉及到两种输入方式,包括表单输入类型以及选项类型,与之前相同。

      关于输入的词法合法性由前端解决,而语法合法性由后端

      例如:shape(string),合法输入为 : 2,2

      如果输入3?3则前端报错

      如果输入与前一个网络层的输出不匹配,则由后端报错

    5. 每个参数规范如下:

      以in_channel(int):输入通道数 非0正数

      in_channel为json格式中对应的attribute名

      int为数据类型

      输入通道数为对应的中文含义,可以忽略也可以在前端中给出

      非0正数为对输入数据的要求,如果不符合应在前端报错

    6. 数据类型正则表达式如下:

      <整数>
      ^(+|-)?(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+$
      

      注意:

      • 前端给后端提供是所有数据的类型均为字符串类型:勾选框给后端的是"true"或"false"字符串,下拉框给后端的是类似"2d"的字符串
      • 无默认值的参数必须填上正确类型的值,否则报错
      • 默认参数为None的,如果没有改动则不报错,返回"None"字符串给后端
      • 请注意0-1间和0-1内的区别!

    一、网络层及参数

    1. 简单网络层

    注意:view_layer为json中layer_type,reshape层为网页中显示的名字,下同

    view_layer:reshape层(与之前保持相同)

    • shape <非负整数及-1序列> 无默认值
    • 用户可以输入多个数字,包括所有非负整数和-1(只有-1是例外),同维度数字之间以英文的“,”分开,例如1,2,3,4,5

    linear_layer:全连接层(与之前保持相同)

    • in_features<正整数>输入通道数 无默认值
    • out_features<正整数>:输入通道数 无默认值

    element_wise_add_layer:元素级相加层(与之前保持相同)

    • 无参数

    concatenate_layer:channel维度拼接层(与之前保持相同)

    • dim<非负整数>:拼接维度 默认值为0

    softmax_layer:softmax层(新增,从卷积层分离)

    • dim<正整数>:计算维度 无默认值

    dropout_layer:dropout层(新增网络层)

    • type:下拉框,包括1d/2d/3d 默认值为2d

    • p<0-1间实数>:置0概率 默认值为0.5

    2. conv_layer卷积层(删除了之前的1维/2维卷积层)

    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

    3. pool_layer:最大池化层(新增,从卷积层分离)

    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

    4. activation_layer激活层(新增,从卷积层分离)

    layer_type:下拉框,包括relu/sigmoid/tanh/leaky relu/PRelu/RRelu 默认值为relu

    relu:无参数

    sigmoid:无参数

    tanh:无参数

    leaky relu:

    negative_slope<正数> 默认值为0.01

    PRelu: 类似leaky relu, 但是负数部分斜率可学习

    • weight<正数>权重初始化 非0正实数 默认值为0.25

    RRelu: 类似leaky relu, 但是负数部分斜率为随机均匀分布

    • lower<正数>:均匀分布下限 默认值为0.125

    • upper<正数>:均匀分布上限 默认值为0.333

    5. RNN_layer:递归神经网络(新增网络层)

    • input_size<正整数>:输入特征数 无默认值

    • hidden_size<正整数>:隐藏层个数 无默认值

    • num_layers<正整数>:递归层层数 默认值为1

    • nonlinearity(二选一,tanh/relu):非线性激活 默认为tanh

    6. LSTM_layer:长周期神经网络(新增网络层)

    • input_size<正整数>:输入特征数 无默认值

    • hidden_size<正整数> :隐藏层个数 无默认值

    • num_layers<正整数>:递归层层数 默认值为1

    7. norm_layer:标准化层(新增网络层)

    下拉框,选项包括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<正整数>:输入特征数 无默认值

    二、static参数

    1. 简单参数

    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

    2. learning_rate_scheduler:学习率下降

    下拉框,共包括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:

    • gamma<0-1内实数>:衰减幅度 默认值为0.95

    CosineAnnealingLR:

    • T_max<正整数>:下降周期(变化的半周期)默认值为50

    • eta_min<正数>:最小学习率 默认值为0

    ReduceLROnPleateau:监控指标,当指标不再变化则调整

    • factor<0-1内实数>:调整系数 默认值为0.1
    • patience<正整数>:“耐心 ”,接受几次不变化 默认值为10
    • cooldown<正整数>:“冷却时间”,停止监控一段时间 默认值为10
    • verbose(勾选框,默认为勾选,在json中为True,否则为False):打印日志 默认值为true
    • min_lr<0-1内实数>:学习率下限 默认值为0.0001

    3. optimizer:优化器

    下拉框,共包含SGD,RMSprop,Adam,Adamax,ASGD 默认值为Adam

    SGD:Stochastic Gradient Descent

    • momentum <0-1间实数> - 动量 默认值为0
    • weight_decay <0-1间实数> - L2正则项系数 默认值为0
    • dampening <正数> – 动量衰减 默认值为0
    • nesterov (勾选框,默认为勾选,在json中为True,否则为False) – 使用Nesterov梯度加速 默认值为false

    ASGD: Averaged Stochastic Gradient Descent

    • lambd <0-1间实数> - 衰减项 默认值为0.0001
    • alpha <0-1间实数> - eta更新幂 默认值为0.75
    • t0 <正整数> – 开始平均的点 默认值为1000000
    • weight_decay<0-1间实数> - L2正则项系数 默认值为0

    Adam:

    • beta1<0-1内实数> - 梯度移动平均值的系数 默认值为0.9
    • beta2<0-1内实数> - 梯度平方移动平均值的系数 默认值为0.999
    • eps <0-1内实数>- 分母稳定项 默认值为0.00000001
    • weight_decay<0-1间实数> - L2正则项系数 默认值为0
    • amsgrad(勾选框,默认为勾选,在json中为True,否则为False) - 使用AMSGrad变体 默认值为false

    RMSprop:

    • momentum<0-1间实数>- 动量 默认值为0
    • alpha<0-1间实数> - 平滑常数 默认值为0.99
    • eps<0-1内实数> - 分母稳定项 默认值为0.00000001
    • centered (勾选框,默认为勾选,在json中为True,否则为False)– 梯度通过方差归一化 默认值为flase
    • weight_decay<0-1间实数> - L2正则项系数 默认值为0

    Adammax: 无穷范数的Adam的变体

    • beta1<0-1内实数>- 梯度移动平均值的系数 默认值为0.9
    • beta2<0-1内实数>- 梯度平方移动平均值的系数 默认值为0.999
    • eps<0-1内实数>- 分母稳定项 默认值为0.00000001
    • weight_decay<0-1间实数> - L2正则项系数 默认值为0

    4. loss_func:损失函数

    下拉框,共包含MSELoss,CrossEntropyLoss,L1Loss,NLLLoss,BCELoss 默认值为MSELoss

    MSELoss:均方误差

    • reduction (下拉框,共包含none,mean,sum)- 输出的缩减 默认值为mean

    CrossEntropyLoss:交叉熵损失

    • weight (optional, <正数序列>)- 每个分类损失的权重 默认值为None
    • ignore_index (optional, <整数>)- 忽略的目标 默认值为None
    • reduction (下拉框,共包含none,mean,sum)- 输出的缩减 默认值为mean

    L1Loss:mean absolute error(MAE)

    • reduction (下拉框,共包含none,mean,sum)- 输出的缩减 默认值为mean

    NLLLoss:negative log likelihood loss

    • weight (optional, <正数序列>)- 每个分类损失的权重 默认值为None
    • ignore_index (optional, <整数>)- 忽略的目标 默认值为None
    • reduction (下拉框,共包含none,mean,sum)- 输出的缩减 默认值为mean

    BCELoss:Binary Cross Entropy between the target and the output

    • weight (optional, <正数序列>)- 每批损失的权重 默认值为None
    • reduction (下拉框,共包含none,mean,sum)- 输出的缩减 默认值为mean

    图像增强部分相关内容

    注意:内容全部加在static.json中

    ColorJitter(颜色变换)

    随机对图片的四种属性进行改变

    brightness(非负浮点数):亮度 默认值为0

    contrast(非负浮点数):对比度 默认值为0

    saturation(非负浮点数):饱和度 默认值为0

    hue(非负浮点数且在0-0.5之间):色调 默认值为0

    Pad(边界填充)

    对图片边界进行填充

    padding(正整数):表示对于图片那几个位置进行填充 不能为空否则报错

    padding_mode :二选一,constant/edge 默认值为constant

    RandomCrop(随机切割)

    对图片进行随机切割

    size(正整数):表示输出图片的大小

    padding(正整数):表示对具体哪个位置进行填充 不能为空否则包括

    pad_if_needed (True/False) :表示如果图片小于所需要的大小是否进行填充 默认值为True

    padding_mode:二选一,constant/edge 默认值为constant

    Grayscale(黑白变换)

    将图片转换为黑白照片

    num_output_channels(只能为1或3) 默认值为1

    1表示黑白照片

    3表示支持RGB照片

    RandomAffine(随机变换)

    对图片进行随机变换

    保持图片中心不变,进行随机变换

    degrees(非负浮点数):表示图片旋转度数 默认值为0

    translate:格式为a,b,其中a、b皆为非负浮点数,表示图像在水平和垂直方向上的变化范围 默认值为None

    scale:格式为a,b,其中a、b皆为非负浮点数,表示对图片的随机取样范围 默认值为None

    RandomGrayscale(随机灰度变换)

    对图片进行随机灰度变换

    p(>=0 <=1浮点数):表示变换的概率 默认值为0.1

    RandomHorizontalFlip(随机水平变换)

    对图片进行随机水平变换

    p:表示水平变换概率 默认值为0.5

    RandomPerspective(透视变换)

    对图片进行随机透视变换

    p(>=0 <=1浮点数):表示变换的概率 默认值为0.5

    distortion_scale(>=0 <=1浮点数):表示透视变形的程度 默认值为0.5

    RandomRotation(随机旋转)

    对图片进行随机旋转

    degrees(非负浮点数):表示旋转度数 ,默认为0

    expand(True/False):表示是否对旋转的图像进行扩展,默认为False

    RandomVerticalFlip(垂直变换)

    对图片进行随机垂直变换

    p(>=0 <=1浮点数):表示变换的概率 默认值为0.5

    RandomErasing(随机消除)

    随机选取图片中的矩形大小区域并删除其中像素

    p(>=0 <=1浮点数):表示删除的概率 默认值为0.5

    scale:格式为a,b 其中a,b均为(>=0 <=1浮点数),表示矩形区域相较于原图片大小 默认值0.02, 0.33

    ratio:格式为a,b 其中a,b均为(>=0 <=1浮点数),表示所擦除区域的纵横比范围 默认值0.3, 3.3

    TenCrop(角变换)

    将给定的PIL图像裁剪为四个角,并在中央裁剪并加上翻转的版本

    size:格式为a,b 其中a和b都为正整数,表示变换后的图片尺寸 无默认值,输入时必须有值,进行非空判断

    vertical_flip(true/False):表示是否进行垂直变换 默认值为True

  • 相关阅读:
    H3C ER6300 + 两台 H3C S5120 组网举例
    H3C S5120-52P-WiNet交换机配置
    H3C S5120清除console口密码
    光纤简介
    Windows server 2008 R2 多用户远程桌面
    AutoIt 软件自动化操作
    windows server 2008 R2 计划任务备份系统
    AD域部署使用bginfo软件
    使用WSL吧
    Could not load file or assembly……
  • 原文地址:https://www.cnblogs.com/NAG2020/p/12723185.html
Copyright © 2011-2022 走看看