Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
7573205c
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7573205c
编写于
11月 28, 2016
作者:
L
Luo Tao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
follow comments on config_parser
上级
96615fe3
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
13 addition
and
13 deletion
+13
-13
proto/ModelConfig.proto.m4
proto/ModelConfig.proto.m4
+4
-4
python/paddle/trainer/config_parser.py
python/paddle/trainer/config_parser.py
+8
-8
python/paddle/trainer_config_helpers/tests/configs/protostr/img_trans_layers.protostr
..._helpers/tests/configs/protostr/img_trans_layers.protostr
+1
-1
未找到文件。
proto/ModelConfig.proto.m4
浏览文件 @
7573205c
...
...
@@ -78,10 +78,10 @@ message ConvConfig {
required uint32 stride_y = 12;
// if not set, use output_x
optional uint32 output_y = 13
[default = 0]
;
optional uint32 output_y = 13;
// if not set, use img_size
optional uint32 img_size_y = 14
[default = 0]
;
optional uint32 img_size_y = 14;
}
message PoolConfig {
...
...
@@ -161,10 +161,10 @@ message NormConfig {
optional bool blocked = 8;
// if not set, use output_x
optional uint32 output_y = 9
[default = 0]
;
optional uint32 output_y = 9;
// if not set, use img_size
optional uint32 img_size_y = 10
[default = 0]
;
optional uint32 img_size_y = 10;
}
message BlockExpandConfig {
...
...
python/paddle/trainer/config_parser.py
浏览文件 @
7573205c
...
...
@@ -1066,7 +1066,7 @@ def cnn_output_size(img_size, filter_size, padding, stride, caffe_mode):
return
1
+
int
(
math
.
ceil
(
output
))
#calcualte image_size based on output_size for
convolution
.
#calcualte image_size based on output_size for
de-convolution (ConvTransLayer)
.
#It is the reverse function of cnn_output_size
def
cnn_image_size
(
output_size
,
filter_size
,
padding
,
stride
,
caffe_mode
):
img_size
=
(
output_size
-
1
)
*
stride
+
filter_size
-
2
*
padding
...
...
@@ -1075,7 +1075,7 @@ def cnn_image_size(output_size, filter_size, padding, stride, caffe_mode):
return
img_size
def
s
et_img_size
(
input_layer_name
,
channels
):
def
g
et_img_size
(
input_layer_name
,
channels
):
input
=
g_layer_map
[
input_layer_name
]
img_pixels
=
input
.
size
/
channels
img_size
=
input
.
width
if
input
.
width
>
0
else
int
(
img_pixels
**
0.5
)
...
...
@@ -1110,7 +1110,7 @@ def parse_pool(pool, input_layer_name, pool_conf):
pool_conf
.
stride_y
=
default
(
pool
.
stride_y
,
pool_conf
.
stride
)
pool_conf
.
img_size
,
pool_conf
.
img_size_y
=
\
s
et_img_size
(
input_layer_name
,
pool
.
channels
)
g
et_img_size
(
input_layer_name
,
pool
.
channels
)
config_assert
(
not
pool
.
start
,
"start is deprecated in pooling."
)
...
...
@@ -1137,7 +1137,7 @@ def parse_spp(spp, input_layer_name, spp_conf):
def
parse_image
(
image
,
input_layer_name
,
image_conf
):
image_conf
.
channels
=
image
.
channels
image_conf
.
img_size
,
image_conf
.
img_size_y
=
\
s
et_img_size
(
input_layer_name
,
image_conf
.
channels
)
g
et_img_size
(
input_layer_name
,
image_conf
.
channels
)
def
parse_norm
(
norm
,
input_layer_name
,
norm_conf
):
...
...
@@ -1152,7 +1152,7 @@ def parse_norm(norm, input_layer_name, norm_conf):
norm_conf
.
blocked
=
norm
.
blocked
norm_conf
.
img_size
,
norm_conf
.
img_size_y
=
\
s
et_img_size
(
input_layer_name
,
norm
.
channels
)
g
et_img_size
(
input_layer_name
,
norm
.
channels
)
norm_conf
.
output_x
=
norm_conf
.
img_size
norm_conf
.
output_y
=
norm_conf
.
img_size_y
if
norm
.
norm_type
in
[
'cmrnorm-projection'
]:
...
...
@@ -1177,7 +1177,7 @@ def parse_conv(conv, input_layer_name, conv_conf, num_filters, trans=False):
if
not
trans
:
conv_conf
.
filter_channels
=
conv
.
channels
/
conv
.
groups
conv_conf
.
img_size
,
conv_conf
.
img_size_y
=
\
s
et_img_size
(
input_layer_name
,
conv
.
channels
)
g
et_img_size
(
input_layer_name
,
conv
.
channels
)
conv_conf
.
output_x
=
cnn_output_size
(
conv_conf
.
img_size
,
conv_conf
.
filter_size
,
conv_conf
.
padding
,
conv_conf
.
stride
,
conv_conf
.
caffe_mode
)
...
...
@@ -1187,11 +1187,11 @@ def parse_conv(conv, input_layer_name, conv_conf, num_filters, trans=False):
else
:
conv_conf
.
filter_channels
=
num_filters
/
conv
.
groups
conv_conf
.
output_x
,
conv_conf
.
output_y
=
\
s
et_img_size
(
input_layer_name
,
conv
.
channels
)
g
et_img_size
(
input_layer_name
,
conv
.
channels
)
conv_conf
.
img_size
=
cnn_image_size
(
conv_conf
.
output_x
,
conv_conf
.
filter_size
,
conv_conf
.
padding
,
conv_conf
.
stride
,
conv_conf
.
caffe_mode
)
conv_conf
.
img_size_y
=
cnn_
output
_size
(
conv_conf
.
img_size_y
=
cnn_
image
_size
(
conv_conf
.
output_y
,
conv_conf
.
filter_size_y
,
conv_conf
.
padding_y
,
conv_conf
.
stride_y
,
conv_conf
.
caffe_mode
)
...
...
python/paddle/trainer_config_helpers/tests/configs/protostr/img_trans_layers.protostr
浏览文件 @
7573205c
...
...
@@ -27,7 +27,7 @@ layers {
padding_y: 1
stride_y: 1
output_y: 227
img_size_y:
198
img_size_y:
256
}
}
bias_parameter_name: "___conv_0__.wbias"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录