fireml机器学习框架

fireml的Python项目详细描述


自述文件

python中类似caffe的机器学习框架

图层类型

图像数据

层读取图像。可能的来源:每行带有路径标签的TXT文件,CIFAR存档。

图像数据参数

源:string-cifar存档或txt文件的路径

batch_size:int-每次迭代要处理多少图像

shuffle:bool-对批进行采样时将对图像进行shuffle

新高度:int-新图像高度(可以与原始高度相同)

new_width:int-新图像宽度(可以与原始图像相同)

new_labels:int-预期的标签数量(txt文件可能包含每个路径的多个标签)

示例:

 layer {
   top: "data"
   top: "label"
   name: "data"
   type: "ImageData"
   image_data_param {
     source: "../cifar/cifar-10-python.tar.gz"
     source: "data.txt.3"  # use cifar or txt file
     batch_size: 65
     shuffle: true
     new_height: 32
     new_width: 32
     n_labels: 10
   }
   transform_param {
     mean_value: 126 # r
     mean_value: 123 # g
     mean_value: 114 # b
     mirror: true
     scale: 0.02728125
     standard_params {
         var_average: 5000
         mean_average: 5000
         mean_per_channel: false
         var_per_channel: false
     }
   }
   include: { phase: TRAIN }
 }

转换参数

数据预处理参数

标准参数

数据标准化预处理器的参数。 为了达到零均值和单位方差,预处理器将减去迭代 取每个样本的平均值,除以标准差。

standard_params {
    var_average: 1
    mean_average: 1
    mean_per_channel: false
    var_per_channel: true
}

var_average:int[默认值=0]-使用上一个var_average样本计算方差和std
如果var_average==0
则禁用 平均值:int[默认值=0]-使用上一个平均值样本计算平均值
如果平均值=0
,则禁用 每个通道的平均值:bool[默认值=false]-从该通道的每个通道平均值中减去
每个通道的变量:[默认值=假]-将每个通道除以单独的标准值

卷积

二维-三维图像(矩阵)的卷积

卷积参数

num_output:int过滤器数量(输出功能图)

内核大小:过滤器的接收场的整数大小。接受域是kernel大小*kernel大小

跨距:int-将在跨距像素之后应用筛选器

weight_filler:请参见weight filler

示例:

layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  convolution_param {
    num_output: 40
    kernel_size: 3
    stride: 2
    weight_filler {
      type: "xavier"
      variance_norm: AVERAGE
    }
  }
}

共用

最大或平均池的子采样层

池参数

游泳池:最大值或平均值

内核大小:int 子采样窗口大小

跨距:int 执行每个跨距像素的池化操作

示例:

layer {
  name: "pool1"
  type: "Pooling"
  bottom: "conv1"
  top: "pool1"
  pooling_param {
    pool: MAX
    kernel_size: 3
    stride: 2
  }
}

准确度

计算精度层 分类器的准确度定义为(真正+真负)/总
在多标签分类示例中,如果iffalloutputs被正确分类 正确。
例子:

layer {
  name: "accuracy"
  type: "Accuracy"
  bottom: "pool10"
  bottom: "label"
  top: "accuracy"
}

填料重量

weigth filler参数对于具有权重的所有层都是通用的

类型:字符串
"泽维尔","高斯","均匀"

平均值:浮动
高斯初始化的平均值

标准:浮动
高斯初始化的标准偏差

最小值:浮动
统一初始化的下限

最大值:浮点
统一初始化的上限

激活功能

选择单元

自正则线性单位:

示例:
{ 名称:"relu_conv1" 类型:"塞鲁" 底部:"conv1" 顶部:"VUN1" }

损耗层

乙状结肠弯曲度

应用乙状结肠元素,然后是交叉熵对数损失的层 -平均值(和(y*对数(p(y))+(1-y)*对数(1-p(y)))

其中p(y)-层输入的sigmoid变换,即每个类的独立概率向量。

example:  
    layer { 
      name: "loss"
      type: "SigmoidCrossEntropyLoss"
      bottom: "pool1"
      bottom: "label"
      top: "loss"
      include {
          phase: TRAIN
      }
    }

最大输出层

对每个大小的通道应用max运算符

大小:int[默认值=0]-对每个大小通道取max
lambda:int[默认值=0.0]-如果lambda,则应用概率最大值!= 0

layer {
  name: "maxout_1"
  type: "Maxout"
  maxout_param {
    lambda: 1
    size: 2
  }
  bottom: "conv1"
  top: "conv1"
}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在部署在Tomcat7上的jbpmconsole中添加新用户?   JavaStruts2:我分配了一个参数的值,但在jsp文件中得到了一个空指针错误   检查类是否在同一个包或子包中访问的java ArchUnit规则?   java当您使用spring forward重定向到其他控制器时,如何从ModelAndView返回响应对象?   java jsp/servlet,显示管理员、用户和未登录用户的不同链接   java Eclipse警告消息   java加载多纹理openGL   java有没有一种方法可以通过Hibernate传递一个对象(genaric)并填充任何字段,然后让它返回一个包含所有字段的对象列表?   java如何将git存储url连接到本地存储库,以便每次都获得更新的代码?   java无限循环在程序中无法正常工作   java File writer正在写入没有“换行”的字符串   java为什么Spring或C3p0没有清理C3p0线程?   java通过JDBC从PostgreSQL检索几何数组