Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
465878a9
P
Paddle
项目概览
BaiXuePrincess
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
465878a9
编写于
3月 02, 2017
作者:
D
dangqingqing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fit_a_line v2 api
上级
a2a5f4af
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
147 addition
and
1 deletion
+147
-1
demo/introduction/api_train_v2.py
demo/introduction/api_train_v2.py
+59
-0
python/paddle/v2/dataset/__init__.py
python/paddle/v2/dataset/__init__.py
+2
-1
python/paddle/v2/dataset/uci_housing.py
python/paddle/v2/dataset/uci_housing.py
+86
-0
未找到文件。
demo/introduction/api_train_v2.py
0 → 100644
浏览文件 @
465878a9
import
paddle.v2
as
paddle
import
paddle.v2.dataset.uci_housing
as
uci_housing
def
main
():
# init
paddle
.
init
(
use_gpu
=
False
,
trainer_count
=
1
)
# network config
x
=
paddle
.
layer
.
data
(
name
=
'x'
,
type
=
paddle
.
data_type
.
dense_vector
(
13
))
y_predict
=
paddle
.
layer
.
fc
(
input
=
x
,
param_attr
=
paddle
.
attr
.
Param
(
name
=
'w'
),
size
=
1
,
act
=
paddle
.
activation
.
Linear
(),
bias_attr
=
paddle
.
attr
.
Param
(
name
=
'b'
))
y
=
paddle
.
layer
.
data
(
name
=
'y'
,
type
=
paddle
.
data_type
.
dense_vector
(
1
))
cost
=
paddle
.
layer
.
regression_cost
(
input
=
y_predict
,
label
=
y
)
# create parameters
parameters
=
paddle
.
parameters
.
create
(
cost
)
# create optimizer
optimizer
=
paddle
.
optimizer
.
Momentum
(
momentum
=
0
)
trainer
=
paddle
.
trainer
.
SGD
(
cost
=
cost
,
parameters
=
parameters
,
update_equation
=
optimizer
)
# event_handler to print training and testing info
def
event_handler
(
event
):
if
isinstance
(
event
,
paddle
.
event
.
EndIteration
):
if
event
.
batch_id
%
100
==
0
:
print
"Pass %d, Batch %d, Cost %f, %s"
%
(
event
.
pass_id
,
event
.
batch_id
,
event
.
cost
,
event
.
metrics
)
if
isinstance
(
event
,
paddle
.
event
.
EndPass
):
result
=
trainer
.
test
(
reader
=
paddle
.
reader
.
batched
(
uci_housing
.
test
(),
batch_size
=
2
),
reader_dict
=
{
'x'
:
0
,
'y'
:
1
})
if
event
.
pass_id
%
10
==
0
:
print
"Test %d, Cost %f, %s"
%
(
event
.
pass_id
,
event
.
cost
,
result
.
metrics
)
# training
trainer
.
train
(
reader
=
paddle
.
reader
.
batched
(
paddle
.
reader
.
shuffle
(
uci_housing
.
train
(),
buf_size
=
500
),
batch_size
=
2
),
reader_dict
=
{
'x'
:
0
,
'y'
:
1
},
event_handler
=
event_handler
,
num_passes
=
30
)
if
__name__
==
'__main__'
:
main
()
python/paddle/v2/dataset/__init__.py
浏览文件 @
465878a9
import
mnist
import
uci_housing
__all__
=
[
'mnist'
]
__all__
=
[
'mnist'
,
'uci_housing'
]
python/paddle/v2/dataset/uci_housing.py
0 → 100644
浏览文件 @
465878a9
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import
numpy
as
np
import
os
from
common
import
download
__all__
=
[
'train'
,
'test'
]
URL
=
'https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data'
MD5
=
'd4accdce7a25600298819f8e28e8d593'
feature_names
=
[
'CRIM'
,
'ZN'
,
'INDUS'
,
'CHAS'
,
'NOX'
,
'RM'
,
'AGE'
,
'DIS'
,
'RAD'
,
'TAX'
,
'PTRATIO'
,
'B'
,
'LSTAT'
]
UCI_TRAIN_DATA
=
None
UCI_TEST_DATA
=
None
def
feature_range
(
maximums
,
minimums
):
import
matplotlib
matplotlib
.
use
(
'Agg'
)
import
matplotlib.pyplot
as
plt
fig
,
ax
=
plt
.
subplots
()
feature_num
=
len
(
maximums
)
ax
.
bar
(
range
(
feature_num
),
maximums
-
minimums
,
color
=
'r'
,
align
=
'center'
)
ax
.
set_title
(
'feature scale'
)
plt
.
xticks
(
range
(
feature_num
),
feature_names
)
plt
.
xlim
([
-
1
,
feature_num
])
fig
.
set_figheight
(
6
)
fig
.
set_figwidth
(
10
)
if
not
os
.
path
.
exists
(
'./image'
):
os
.
makedirs
(
'./image'
)
fig
.
savefig
(
'image/ranges.png'
,
dpi
=
48
)
plt
.
close
(
fig
)
def
load_data
(
filename
,
feature_num
=
14
,
ratio
=
0.8
):
global
UCI_TRAIN_DATA
,
UCI_TEST_DATA
if
UCI_TRAIN_DATA
is
not
None
and
UCI_TEST_DATA
is
not
None
:
return
data
=
np
.
fromfile
(
filename
,
sep
=
' '
)
data
=
data
.
reshape
(
data
.
shape
[
0
]
/
feature_num
,
feature_num
)
maximums
,
minimums
,
avgs
=
data
.
max
(
axis
=
0
),
data
.
min
(
axis
=
0
),
data
.
sum
(
axis
=
0
)
/
data
.
shape
[
0
]
feature_range
(
maximums
[:
-
1
],
minimums
[:
-
1
])
for
i
in
xrange
(
feature_num
-
1
):
data
[:,
i
]
=
(
data
[:,
i
]
-
avgs
[
i
])
/
(
maximums
[
i
]
-
minimums
[
i
])
offset
=
int
(
data
.
shape
[
0
]
*
ratio
)
UCI_TRAIN_DATA
=
data
[:
offset
]
UCI_TEST_DATA
=
data
[
offset
:]
def
train
():
global
UCI_TRAIN_DATA
load_data
(
download
(
URL
,
'uci_housing'
,
MD5
))
def
reader
():
for
d
in
UCI_TRAIN_DATA
:
yield
d
[:
-
1
],
d
[
-
1
:]
return
reader
def
test
():
global
UCI_TEST_DATA
load_data
(
download
(
URL
,
'uci_housing'
,
MD5
))
def
reader
():
for
d
in
UCI_TEST_DATA
:
yield
d
[:
-
1
],
d
[
-
1
:]
return
reader
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录