async_executor_py.cc 1.8 KB
Newer Older
W
wangguibao 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/* 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. */
#include <fcntl.h>

// To avoid conflicting definition in gcc-4.8.2 headers and pyconfig.h (2.7.3)
#ifdef _POSIX_C_SOURCE
#undef _POSIX_C_SOURCE
#endif

#ifdef _XOPEN_SOURCE
#undef _XOPEN_SOURCE
#endif
24 25
#include <vector>
#include <string>
W
wangguibao 已提交
26

27
#include "paddle/fluid/pybind/async_executor_py.h"
W
wangguibao 已提交
28 29 30 31 32
#include "google/protobuf/text_format.h"
#include "google/protobuf/io/zero_copy_stream_impl.h"
#include "paddle/fluid/inference/io.h"
#include "paddle/fluid/platform/variant.h"
#include "paddle/fluid/platform/place.h"
W
wangguibao 已提交
33
#include "paddle/fluid/framework/data_feed.pb.h"
W
wangguibao 已提交
34
#include "paddle/fluid/framework/async_executor.h"
35
#include "paddle/fluid/framework/data_feed.h"
W
wangguibao 已提交
36 37

namespace py = pybind11;
W
wangguibao 已提交
38
namespace pd = paddle::framework;
W
wangguibao 已提交
39 40 41

namespace paddle {
namespace pybind {
W
wangguibao 已提交
42
using set_name_func = void (pd::DataFeedDesc::*)(const std::string&);
W
wangguibao 已提交
43
void BindAsyncExecutor(py::module* m) {
44
  py::class_<framework::AsyncExecutor>(*m, "AsyncExecutor")
W
wangguibao 已提交
45 46 47
    .def(py::init<pd::Scope&, const platform::Place&>())
    .def("run_from_files", &framework::AsyncExecutor::RunFromFile)
    .def("check_file", &framework::AsyncExecutor::CheckFiles);
W
wangguibao 已提交
48
}   // end BindAsyncExecutor
49
}   // end namespace pybind
W
wangguibao 已提交
50 51 52
}   // end namespace paddle

/* vim: set expandtab ts=2 sw=2 sts=2 tw=80: */