alpha先後端接口文檔(一)

先後端對接之jsonhtml

alpha先後端接口文檔(二)前端

功能說明

  1. 前端有若干個模塊,包括神經網絡層經典模型可供用戶選擇,用戶根據這些模塊來搭建模型。正則表達式

  2. static裏面是須要用戶指定的全局變量。json

  3. 一個數組,每一個數組元素對應用戶所鏈接的 一條邊,同時記錄了兩個端點的字段信息,還附加了一個區別於其餘端點的id字段和 表明該端點是不是根節點的字段。 (2)調用方法:調用/VisualPytorch/VisualPytorch/ops.py下的main_func(edge_record) 便可,其中,edge_record爲(1)中前端傳給後端的數據,該函數的返回值爲三個字 符串數組,依次爲main.py,model.py,ops.py的內容。後端

  4. 只涉及到兩種輸入方式,包括表單輸入類型以及選項類型,與以前相同。數組

    關於輸入的詞法合法性由前端解決,而語法合法性由後端網絡

    例如:shape(string),合法輸入爲 : 2,2ide

    若是輸入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、網絡層及參數

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<正整數>:輸入特徵數 無默認值

2、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
相關文章
相關標籤/搜索