Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
58498f95
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看板
提交
58498f95
编写于
10月 31, 2017
作者:
X
xzl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add defalut value to dilation in Conv
上级
47329f6b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
23 addition
and
9 deletion
+23
-9
python/paddle/trainer/config_parser.py
python/paddle/trainer/config_parser.py
+23
-9
未找到文件。
python/paddle/trainer/config_parser.py
浏览文件 @
58498f95
...
...
@@ -874,7 +874,7 @@ class Conv(Cfg):
filter_size_y
=
None
,
padding_y
=
None
,
stride_y
=
None
,
dilation
=
None
,
dilation
=
1
,
dilation_y
=
None
):
self
.
add_keys
(
locals
())
if
filter_size_y
is
None
:
...
...
@@ -1200,8 +1200,14 @@ def TestData(data_config, async_load_data=None):
#caffe_mode: compute the output size using floor instead of ceil,
# which is consistent of caffe and CuDNN's convention.
def
cnn_output_size
(
img_size
,
filter_size
,
padding
,
stride
,
caffe_mode
):
output
=
(
2
*
padding
+
img_size
-
filter_size
)
/
float
(
stride
)
def
cnn_output_size
(
img_size
,
filter_size
,
padding
,
stride
,
caffe_mode
,
dilation
=
1
):
filter_s
=
(
filter_size
-
1
)
*
dilation
+
1
output
=
(
2
*
padding
+
img_size
-
filter_s
)
/
float
(
stride
)
if
caffe_mode
:
return
1
+
int
(
math
.
floor
(
output
))
else
:
...
...
@@ -1210,8 +1216,14 @@ def cnn_output_size(img_size, filter_size, padding, stride, caffe_mode):
#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
def
cnn_image_size
(
output_size
,
filter_size
,
padding
,
stride
,
caffe_mode
,
dilation
=
1
):
filter_s
=
(
filter_size
-
1
)
*
dilation
+
1
img_size
=
(
output_size
-
1
)
*
stride
+
filter_s
-
2
*
padding
if
not
caffe_mode
:
img_size
=
img_size
+
1
return
img_size
...
...
@@ -1376,6 +1388,8 @@ def parse_conv(conv, input_layer_name, conv_conf, num_filters, trans=False):
conv_conf
.
stride_y
=
conv
.
stride_y
conv_conf
.
groups
=
conv
.
groups
conv_conf
.
caffe_mode
=
conv
.
caffe_mode
conv_conf
.
dilation
=
conv
.
dilation
conv_conf
.
dilation_y
=
conv
.
dilation_y
if
not
trans
:
conv_conf
.
filter_channels
=
conv
.
channels
/
conv
.
groups
...
...
@@ -1383,20 +1397,20 @@ def parse_conv(conv, input_layer_name, conv_conf, num_filters, trans=False):
get_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
)
conv_conf
.
stride
,
conv_conf
.
caffe_mode
,
conv_conf
.
dilation
)
conv_conf
.
output_y
=
cnn_output_size
(
conv_conf
.
img_size_y
,
conv_conf
.
filter_size_y
,
conv_conf
.
padding_y
,
conv_conf
.
stride_y
,
conv_conf
.
caffe_mode
)
conv_conf
.
stride_y
,
conv_conf
.
caffe_mode
,
conv_conf
.
dilation_y
)
else
:
conv_conf
.
filter_channels
=
num_filters
/
conv
.
groups
conv_conf
.
output_x
,
conv_conf
.
output_y
=
\
get_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
.
stride
,
conv_conf
.
caffe_mode
,
conv_conf
.
dilation
)
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
)
conv_conf
.
stride_y
,
conv_conf
.
caffe_mode
,
conv_conf
.
dilation_y
)
#caffe_mode: compute the output size using floor instead of ceil,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录