Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
3d28291d
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3d28291d
编写于
2月 26, 2017
作者:
Q
qiaolongfei
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' of
https://github.com/PaddlePaddle/Paddle
into rnn
上级
ad4ab5ac
dae21d9b
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
166 addition
and
33 deletion
+166
-33
paddle/api/Evaluator.cpp
paddle/api/Evaluator.cpp
+15
-0
paddle/api/PaddleAPI.h
paddle/api/PaddleAPI.h
+4
-0
paddle/api/test/testTrain.py
paddle/api/test/testTrain.py
+6
-1
paddle/scripts/docker/Dockerfile
paddle/scripts/docker/Dockerfile
+6
-4
paddle/scripts/docker/Dockerfile.gpu
paddle/scripts/docker/Dockerfile.gpu
+6
-4
paddle/scripts/docker/build.sh
paddle/scripts/docker/build.sh
+28
-24
python/paddle/reader/__init__.py
python/paddle/reader/__init__.py
+2
-0
python/paddle/reader/creator.py
python/paddle/reader/creator.py
+53
-0
python/paddle/reader/tests/CMakeLists.txt
python/paddle/reader/tests/CMakeLists.txt
+5
-0
python/paddle/reader/tests/creator_test.py
python/paddle/reader/tests/creator_test.py
+38
-0
python/paddle/reader/tests/test_data_creator.txt
python/paddle/reader/tests/test_data_creator.txt
+3
-0
未找到文件。
paddle/api/Evaluator.cpp
浏览文件 @
3d28291d
...
@@ -27,3 +27,18 @@ std::string Evaluator::toString() {
...
@@ -27,3 +27,18 @@ std::string Evaluator::toString() {
m
->
rawPtr
->
printStats
(
sout
);
m
->
rawPtr
->
printStats
(
sout
);
return
sout
.
str
();
return
sout
.
str
();
}
}
std
::
vector
<
std
::
string
>
Evaluator
::
getNames
()
const
{
std
::
vector
<
std
::
string
>
retv
;
m
->
rawPtr
->
getNames
(
&
retv
);
return
retv
;
}
double
Evaluator
::
getValue
(
const
std
::
string
name
)
const
{
paddle
::
Error
err
;
double
v
=
m
->
rawPtr
->
getValue
(
name
,
&
err
);
if
(
err
)
{
throw
std
::
runtime_error
(
err
.
msg
());
}
return
v
;
}
paddle/api/PaddleAPI.h
浏览文件 @
3d28291d
...
@@ -900,6 +900,10 @@ public:
...
@@ -900,6 +900,10 @@ public:
*/
*/
std
::
string
toString
();
std
::
string
toString
();
std
::
vector
<
std
::
string
>
getNames
()
const
;
double
getValue
(
const
std
::
string
name
)
const
;
private:
private:
EvaluatorPrivate
*
m
;
EvaluatorPrivate
*
m
;
...
...
paddle/api/test/testTrain.py
浏览文件 @
3d28291d
...
@@ -89,9 +89,14 @@ def main():
...
@@ -89,9 +89,14 @@ def main():
except
Exception
as
e
:
except
Exception
as
e
:
print
e
print
e
ev
=
m
.
makeEvaluator
()
ev
.
start
()
m
.
forwardBackward
(
inArgs
,
outArgs
,
swig_paddle
.
PASS_TRAIN
,
m
.
forwardBackward
(
inArgs
,
outArgs
,
swig_paddle
.
PASS_TRAIN
,
update_callback
)
update_callback
)
m
.
eval
(
ev
)
ev
.
finish
()
for
name
in
ev
.
getNames
():
print
name
,
ev
.
getValue
(
name
)
for
optimizer
in
optimizers
:
for
optimizer
in
optimizers
:
optimizer
.
finishBatch
()
optimizer
.
finishBatch
()
...
...
paddle/scripts/docker/Dockerfile
浏览文件 @
3d28291d
...
@@ -10,28 +10,30 @@ RUN apt-get update && \
...
@@ -10,28 +10,30 @@ RUN apt-get update && \
apt-get
install
-y
wget unzip
tar
xz-utils bzip2
gzip
coreutils
&&
\
apt-get
install
-y
wget unzip
tar
xz-utils bzip2
gzip
coreutils
&&
\
apt-get
install
-y
curl
sed grep
graphviz libjpeg-dev zlib1g-dev
&&
\
apt-get
install
-y
curl
sed grep
graphviz libjpeg-dev zlib1g-dev
&&
\
apt-get
install
-y
python-numpy python-matplotlib gcc g++ gfortran
&&
\
apt-get
install
-y
python-numpy python-matplotlib gcc g++ gfortran
&&
\
apt-get
install
-y
automake
clang-3.8 llvm-3.8 libclang-3.8-dev
&&
\
apt-get
install
-y
automake
&&
\
apt-get clean
-y
apt-get clean
-y
RUN
pip
install
--upgrade
pip
&&
\
RUN
pip
install
--upgrade
pip
&&
\
pip
install
-U
protobuf
&&
\
pip
install
-U
"protobuf==3.1.0"
&&
\
pip
install
-U
wheel pillow BeautifulSoup
&&
\
pip
install
-U
wheel pillow BeautifulSoup
&&
\
pip
install
-U
docopt PyYAML sphinx
&&
\
pip
install
-U
docopt PyYAML sphinx
&&
\
pip
install
-U
sphinx_rtd_theme recommonmark jupyter
pip
install
-U
sphinx_rtd_theme recommonmark jupyter
RUN
curl
-sSL
https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz |
tar
-xz
&&
\
RUN
curl
-sSL
https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz |
tar
-xz
&&
\
cd
cmake-3.4.1
&&
./bootstrap
&&
make
-j
4
&&
make
install
&&
\
cd
cmake-3.4.1
&&
./bootstrap
&&
make
-j
`
nproc
`
&&
make
install
&&
\
cd
..
&&
rm
-rf
cmake-3.4.1
cd
..
&&
rm
-rf
cmake-3.4.1
ARG
BUILD_WOBOQ
ARG
BUILD_AND_INSTALL
ARG
BUILD_AND_INSTALL
ARG
WITH_AVX
ARG
WITH_AVX
ARG
WITH_DOC
ARG
WITH_DOC
ARG
WITH_STYLE_CHECK
ARG
WITH_STYLE_CHECK
ENV
BUILD_WOBOQ=${BUILD_WOBOQ:-OFF}
ENV
BUILD_AND_INSTALL=${BUILD_AND_INSTALL:-OFF}
ENV
BUILD_AND_INSTALL=${BUILD_AND_INSTALL:-OFF}
ENV
WITH_GPU=OFF
ENV
WITH_GPU=OFF
ENV
WITH_AVX=${WITH_AVX:-ON}
ENV
WITH_AVX=${WITH_AVX:-ON}
ENV
WITH_DOC=${WITH_DOC:-O
N
}
ENV
WITH_DOC=${WITH_DOC:-O
FF
}
ENV
WITH_STYLE_CHECK=${WITH_STYLE_CHECK:-OFF}
ENV
WITH_STYLE_CHECK=${WITH_STYLE_CHECK:-OFF}
RUN
mkdir
/paddle
RUN
mkdir
/paddle
...
...
paddle/scripts/docker/Dockerfile.gpu
浏览文件 @
3d28291d
...
@@ -10,28 +10,30 @@ RUN apt-get update && \
...
@@ -10,28 +10,30 @@ RUN apt-get update && \
apt-get install -y wget unzip tar xz-utils bzip2 gzip coreutils && \
apt-get install -y wget unzip tar xz-utils bzip2 gzip coreutils && \
apt-get install -y curl sed grep graphviz libjpeg-dev zlib1g-dev && \
apt-get install -y curl sed grep graphviz libjpeg-dev zlib1g-dev && \
apt-get install -y python-numpy python-matplotlib gcc g++ gfortran && \
apt-get install -y python-numpy python-matplotlib gcc g++ gfortran && \
apt-get install -y automake
clang-3.8 llvm-3.8 libclang-3.8-dev
&& \
apt-get install -y automake && \
apt-get clean -y
apt-get clean -y
RUN pip install --upgrade pip && \
RUN pip install --upgrade pip && \
pip install -U
protobuf
&& \
pip install -U
"protobuf==3.1.0"
&& \
pip install -U wheel pillow BeautifulSoup && \
pip install -U wheel pillow BeautifulSoup && \
pip install -U docopt PyYAML sphinx && \
pip install -U docopt PyYAML sphinx && \
pip install -U sphinx_rtd_theme recommonmark jupyter
pip install -U sphinx_rtd_theme recommonmark jupyter
RUN curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \
RUN curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \
cd cmake-3.4.1 && ./bootstrap && make -j
4
&& make install && \
cd cmake-3.4.1 && ./bootstrap && make -j
`nproc`
&& make install && \
cd .. && rm -rf cmake-3.4.1
cd .. && rm -rf cmake-3.4.1
ARG BUILD_WOBOQ
ARG BUILD_AND_INSTALL
ARG BUILD_AND_INSTALL
ARG WITH_AVX
ARG WITH_AVX
ARG WITH_DOC
ARG WITH_DOC
ARG WITH_STYLE_CHECK
ARG WITH_STYLE_CHECK
ENV BUILD_WOBOQ=${BUILD_WOBOQ:-OFF}
ENV BUILD_AND_INSTALL=${BUILD_AND_INSTALL:-OFF}
ENV BUILD_AND_INSTALL=${BUILD_AND_INSTALL:-OFF}
ENV WITH_GPU=ON
ENV WITH_GPU=ON
ENV WITH_AVX=${WITH_AVX:-ON}
ENV WITH_AVX=${WITH_AVX:-ON}
ENV WITH_DOC=${WITH_DOC:-O
N
}
ENV WITH_DOC=${WITH_DOC:-O
FF
}
ENV WITH_STYLE_CHECK=${WITH_STYLE_CHECK:-OFF}
ENV WITH_STYLE_CHECK=${WITH_STYLE_CHECK:-OFF}
RUN mkdir /paddle
RUN mkdir /paddle
...
...
paddle/scripts/docker/build.sh
浏览文件 @
3d28291d
...
@@ -11,7 +11,7 @@ set -e
...
@@ -11,7 +11,7 @@ set -e
# If Dockerfile.* sets BUILD_AND_INSTALL to 'ON', it would have copied
# If Dockerfile.* sets BUILD_AND_INSTALL to 'ON', it would have copied
# source tree to /paddle, and this scripts should build it into
# source tree to /paddle, and this scripts should build it into
# /paddle/build.
# /paddle/build.
if
[[
${
BUILD_AND_INSTALL
:-
O
N
}
==
'ON'
]]
;
then
if
[[
${
BUILD_AND_INSTALL
:-
O
FF
}
==
'ON'
]]
;
then
if
[[
${
WITH_GPU
:-
OFF
}
==
'ON'
]]
;
then
if
[[
${
WITH_GPU
:-
OFF
}
==
'ON'
]]
;
then
ln
-s
/usr/lib/x86_64-linux-gnu/libcudnn.so /usr/lib/libcudnn.so
ln
-s
/usr/lib/x86_64-linux-gnu/libcudnn.so /usr/lib/libcudnn.so
fi
fi
...
@@ -19,7 +19,7 @@ if [[ ${BUILD_AND_INSTALL:-ON} == 'ON' ]]; then
...
@@ -19,7 +19,7 @@ if [[ ${BUILD_AND_INSTALL:-ON} == 'ON' ]]; then
mkdir
-p
/paddle/build
# -p means no error if exists
mkdir
-p
/paddle/build
# -p means no error if exists
cd
/paddle/build
cd
/paddle/build
cmake ..
\
cmake ..
\
-DWITH_DOC
=
ON
\
-DWITH_DOC
=
${
WITH_DOC
:-
OFF
}
\
-DWITH_GPU
=
${
WITH_GPU
:-
OFF
}
\
-DWITH_GPU
=
${
WITH_GPU
:-
OFF
}
\
-DWITH_AVX
=
${
WITH_AVX
:-
OFF
}
\
-DWITH_AVX
=
${
WITH_AVX
:-
OFF
}
\
-DWITH_SWIG_PY
=
ON
\
-DWITH_SWIG_PY
=
ON
\
...
@@ -29,28 +29,32 @@ if [[ ${BUILD_AND_INSTALL:-ON} == 'ON' ]]; then
...
@@ -29,28 +29,32 @@ if [[ ${BUILD_AND_INSTALL:-ON} == 'ON' ]]; then
make
-j
`
nproc
`
make
-j
`
nproc
`
make
install
make
install
# Install woboq_codebrowser.
if
[[
${
BUILD_WOBOQ
:-
OFF
}
==
'ON'
]]
;
then
git clone https://github.com/woboq/woboq_codebrowser /woboq
apt-get
install
-y
clang-3.8 llvm-3.8 libclang-3.8-dev
cd
/woboq
# Install woboq_codebrowser.
cmake
-DLLVM_CONFIG_EXECUTABLE
=
/usr/bin/llvm-config-3.8
\
git clone https://github.com/woboq/woboq_codebrowser /woboq
-DCMAKE_BUILD_TYPE
=
Release
\
cd
/woboq
.
cmake
-DLLVM_CONFIG_EXECUTABLE
=
/usr/bin/llvm-config-3.8
\
make
-DCMAKE_BUILD_TYPE
=
Release
\
.
export
WOBOQ_OUT
=
/usr/share/nginx/html/paddle
make
export
BUILD_DIR
=
/paddle/build
mkdir
-p
$WOBOQ_OUT
export
WOBOQ_OUT
=
/usr/share/nginx/html/paddle
cp
-rv
/woboq/data
$WOBOQ_OUT
/../data
export
BUILD_DIR
=
/paddle/build
/woboq/generator/codebrowser_generator
\
mkdir
-p
$WOBOQ_OUT
-b
/paddle/build
\
cp
-rv
/woboq/data
$WOBOQ_OUT
/../data
-a
\
/woboq/generator/codebrowser_generator
\
-o
$WOBOQ_OUT
\
-b
/paddle/build
\
-p
paddle:/paddle
-a
\
/woboq/indexgenerator/codebrowser_indexgenerator
$WOBOQ_OUT
-o
$WOBOQ_OUT
\
cd
/woboq
-p
paddle:/paddle
make clean
/woboq/indexgenerator/codebrowser_indexgenerator
$WOBOQ_OUT
cd
/woboq
pip
install
/usr/local/opt/paddle/share/wheels/
*
.whl
make clean
fi
pip
install
/usr/local/opt/paddle/share/wheels/py_paddle
*
linux
*
.whl
pip
install
/usr/local/opt/paddle/share/wheels/paddle
*
.whl
paddle version
paddle version
fi
fi
...
...
python/paddle/reader/__init__.py
浏览文件 @
3d28291d
...
@@ -21,3 +21,5 @@
...
@@ -21,3 +21,5 @@
#
#
# r = paddle.reader.buffered(paddle.reader.creator.text("hello.txt"))
# r = paddle.reader.buffered(paddle.reader.creator.text("hello.txt"))
from
decorator
import
*
from
decorator
import
*
import
creator
python/paddle/reader/creator.py
0 → 100644
浏览文件 @
3d28291d
# 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.
__all__
=
[
'np_array'
,
'text_file'
]
def
np_array
(
x
):
"""
Creates a reader that yields elements of x, if it is a
numpy vector. Or rows of x, if it is a numpy matrix.
Or any sub-hyperplane indexed by the highest dimension.
:param x: the numpy array to create reader from.
:returns: data reader created from x.
"""
def
reader
():
if
x
.
ndim
<
1
:
yield
x
for
e
in
x
:
yield
e
return
reader
def
text_file
(
path
):
"""
Creates a data reader that outputs text line by line from given text file.
Trailing new line ('
\n
') of each line will be removed.
:path: path of the text file.
:returns: data reader of text file
"""
def
reader
():
f
=
open
(
path
,
"r"
)
for
l
in
f
:
yield
l
.
rstrip
(
'
\n
'
)
f
.
close
()
return
reader
python/paddle/reader/tests/CMakeLists.txt
浏览文件 @
3d28291d
...
@@ -2,3 +2,8 @@ add_test(NAME reader_decorator_test
...
@@ -2,3 +2,8 @@ add_test(NAME reader_decorator_test
COMMAND
${
PROJ_ROOT
}
/paddle/.set_python_path.sh -d
${
PROJ_ROOT
}
/python/
COMMAND
${
PROJ_ROOT
}
/paddle/.set_python_path.sh -d
${
PROJ_ROOT
}
/python/
${
PYTHON_EXECUTABLE
}
${
PROJ_ROOT
}
/python/paddle/reader/tests/decorator_test.py
${
PYTHON_EXECUTABLE
}
${
PROJ_ROOT
}
/python/paddle/reader/tests/decorator_test.py
WORKING_DIRECTORY
${
PROJ_ROOT
}
/python/paddle
)
WORKING_DIRECTORY
${
PROJ_ROOT
}
/python/paddle
)
add_test
(
NAME reader_creator_test
COMMAND
${
PROJ_ROOT
}
/paddle/.set_python_path.sh -d
${
PROJ_ROOT
}
/python/
${
PYTHON_EXECUTABLE
}
${
PROJ_ROOT
}
/python/paddle/reader/tests/creator_test.py
WORKING_DIRECTORY
${
PROJ_ROOT
}
/python/paddle
)
python/paddle/reader/tests/creator_test.py
0 → 100644
浏览文件 @
3d28291d
# Copyright PaddlePaddle contributors. 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
unittest
import
paddle.reader.creator
import
numpy
as
np
import
os
class
TestNumpyArray
(
unittest
.
TestCase
):
def
test_numpy_array
(
self
):
l
=
[[
1
,
2
,
3
],
[
4
,
5
,
6
]]
x
=
np
.
array
(
l
,
np
.
int32
)
reader
=
paddle
.
reader
.
creator
.
np_array
(
x
)
for
idx
,
e
in
enumerate
(
reader
()):
self
.
assertItemsEqual
(
e
,
l
[
idx
])
class
TestTextFile
(
unittest
.
TestCase
):
def
test_text_file
(
self
):
path
=
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
"test_data_creator.txt"
)
reader
=
paddle
.
reader
.
creator
.
text_file
(
path
)
for
idx
,
e
in
enumerate
(
reader
()):
self
.
assertEqual
(
e
,
str
(
idx
*
2
)
+
" "
+
str
(
idx
*
2
+
1
))
if
__name__
==
'__main__'
:
unittest
.
main
()
python/paddle/reader/tests/test_data_creator.txt
0 → 100644
浏览文件 @
3d28291d
0 1
2 3
4 5
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录