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"
}
推荐PyPI第三方库