Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
AutoDL
提交
bca39465
A
AutoDL
项目概览
PaddlePaddle
/
AutoDL
通知
3
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
AutoDL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bca39465
编写于
4月 09, 2019
作者:
J
jerrywgz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add imagenet model
上级
a2f4ad99
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
61 addition
and
15 deletion
+61
-15
LRC/dataset/download_cifar.sh
LRC/dataset/download_cifar.sh
+0
-0
LRC/dataset/download_imagenet.sh
LRC/dataset/download_imagenet.sh
+40
-0
LRC/model.py
LRC/model.py
+8
-6
LRC/reader_imagenet.py
LRC/reader_imagenet.py
+1
-1
LRC/train_imagenet.py
LRC/train_imagenet.py
+12
-8
未找到文件。
LRC/dataset/download.sh
→
LRC/dataset/download
_cifar
.sh
浏览文件 @
bca39465
文件已移动
LRC/dataset/download_imagenet.sh
0 → 100644
浏览文件 @
bca39465
set
-e
if
[
"x
${
IMAGENET_USERNAME
}
"
==
x
-o
"x
${
IMAGENET_ACCESS_KEY
}
"
==
x
]
;
then
echo
"Please create an account on image-net.org."
echo
"It will provide you a pair of username and accesskey to download imagenet data."
read
-p
"Username: "
IMAGENET_USERNAME
read
-p
"Accesskey: "
IMAGENET_ACCESS_KEY
fi
root_url
=
http://www.image-net.org/challenges/LSVRC/2012/nnoupb
valid_tar
=
ILSVRC2012_img_val.tar
train_tar
=
ILSVRC2012_img_train.tar
train_folder
=
train/
valid_folder
=
val/
echo
"Download imagenet training data..."
mkdir
-p
${
train_folder
}
wget
-nd
-c
${
root_url
}
/
${
train_tar
}
tar
xf
${
train_tar
}
-C
${
train_folder
}
cd
${
train_folder
}
for
x
in
`
ls
*
.tar
`
do
filename
=
`
basename
$x
.tar
`
mkdir
-p
$filename
tar
-xf
$x
-C
$filename
rm
-rf
$x
done
cd
-
echo
"Download imagenet validation data..."
mkdir
-p
${
valid_folder
}
wget
-nd
-c
${
root_url
}
/
${
valid_tar
}
tar
xf
${
valid_tar
}
-C
${
valid_folder
}
echo
"Download imagenet label file: val_list.txt & train_list.txt"
label_file
=
ImageNet_label.tgz
label_url
=
http://imagenet-data.bj.bcebos.com/
${
label_file
}
wget
-nd
-c
${
label_url
}
tar
zxf
${
label_file
}
LRC/model.py
浏览文件 @
bca39465
...
...
@@ -93,7 +93,8 @@ class Cell():
dropout_implementation
=
'upscale_in_train'
)
s
=
h3
+
h4
out
+=
[
s
]
return
fluid
.
layers
.
concat
([
out
[
i
]
for
i
in
self
.
_concat
],
axis
=
1
)
concat_
=
fluid
.
layers
.
concat
([
out
[
i
]
for
i
in
self
.
_concat
],
axis
=
1
,
name
=
name
+
'concat'
)
return
concat_
def
AuxiliaryHeadCIFAR
(
input
,
num_classes
,
aux_name
=
'auxiliary_head'
):
...
...
@@ -337,7 +338,7 @@ class NetworkCIFAR(object):
return
lrc_loss_mean
def
AuxiliaryHeadImageNet
(
input
,
num_classes
,
aux_name
=
'auxiliary_head'
):
relu_a
=
fluid
.
layers
.
relu
(
input
,
inplace
=
Tru
e
)
relu_a
=
fluid
.
layers
.
relu
(
input
,
inplace
=
Fals
e
)
#relu_a.persistable = True
#print(relu_a)
pool_a
=
fluid
.
layers
.
pool2d
(
relu_a
,
5
,
'avg'
,
pool_stride
=
2
)
...
...
@@ -405,10 +406,11 @@ def Stem0Conv(input, C_out):
bias_attr
=
ParamAttr
(
initializer
=
Constant
(
0.
),
name
=
'stem0.1.bias'
),
moving_mean_name
=
'stem0.1.running_mean'
,
moving_variance_name
=
'stem0.1.running_var'
)
relu_a
=
fluid
.
layers
.
relu
(
bn_a
,
inplace
=
True
)
moving_variance_name
=
'stem0.1.running_var'
,
act
=
'relu'
)
#relu_a = fluid.layers.relu(bn_a,inplace=True)
conv_b
=
fluid
.
layers
.
conv2d
(
relu
_a
,
bn
_a
,
C_out
,
3
,
padding
=
1
,
...
...
@@ -428,7 +430,7 @@ def Stem0Conv(input, C_out):
return
bn_b
def
Stem1Conv
(
input
,
C_out
):
relu_a
=
fluid
.
layers
.
relu
(
input
,
inplace
=
Tru
e
)
relu_a
=
fluid
.
layers
.
relu
(
input
,
inplace
=
Fals
e
)
conv_a
=
fluid
.
layers
.
conv2d
(
relu_a
,
C_out
,
...
...
LRC/reader_imagenet.py
浏览文件 @
bca39465
...
...
@@ -140,7 +140,7 @@ def train(args):
:rtype: callable
"""
return
reader_creator_filepath
(
args
.
data
,
'
train
.txt'
,
True
)
return
reader_creator_filepath
(
args
.
data
,
'
debug
.txt'
,
True
)
def
test
(
args
):
...
...
LRC/train_imagenet.py
浏览文件 @
bca39465
...
...
@@ -163,14 +163,19 @@ def train(model, args, im_shape, steps_one_epoch, num_gpu):
# return os.path.exists(os.path.join(args.pretrained_model, var.name))
# fluid.io.load_vars(exe, args.pretrained_model, main_program=train_prog, predicate=if_exist)
#build_strategy = fluid.BuildStrategy()
#build_strategy.enable_inplace = False
#build_strategy.memory_optimize = False
train_fetch_list
=
[
loss_train
]
fluid
.
memory_optimize
(
train_prog
,
skip_opt_set
=
set
(
train_fetch_list
))
exec_strategy
=
fluid
.
ExecutionStrategy
()
exec_strategy
.
num_threads
=
1
#
exec_strategy.num_threads = 1
train_exe
=
fluid
.
ParallelExecutor
(
main_program
=
train_prog
,
use_cuda
=
True
,
loss_name
=
loss_train
.
name
,
exec_strategy
=
exec_strategy
)
main_program
=
train_prog
,
use_cuda
=
True
,
loss_name
=
loss_train
.
name
,
exec_strategy
=
exec_strategy
)
train_batch_size
=
args
.
batch_size
test_batch_size
=
256
...
...
@@ -182,8 +187,7 @@ def train(model, args, im_shape, steps_one_epoch, num_gpu):
test_py_reader
.
decorate_paddle_reader
(
test_reader
)
fluid
.
clip
.
set_gradient_clip
(
fluid
.
clip
.
GradientClipByGlobalNorm
(
args
.
grad_clip
),
program
=
train_prog
)
train_fetch_list
=
[
loss_train
]
fluid
.
memory_optimize
(
train_prog
,
skip_opt_set
=
set
(
train_fetch_list
))
print
(
train_prog
.
to_string
(
True
))
def
save_model
(
postfix
,
main_prog
):
model_path
=
os
.
path
.
join
(
args
.
save_model_path
,
postfix
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录