From 4f1f7e90aa170aef91ac2d60bdc89860f6933dd6 Mon Sep 17 00:00:00 2001 From: Liu Yiqun Date: Thu, 10 Aug 2017 11:51:31 +0000 Subject: [PATCH] Delete c-api interface, paddle_gradient_machine_load_parameter_from_buffer, and related codes in Paddle core. --- paddle/capi/gradient_machine.cpp | 9 ---- paddle/capi/gradient_machine.h | 9 ---- .../gradientmachines/GradientMachine.cpp | 43 ------------------- .../gradientmachines/GradientMachine.h | 2 - paddle/parameter/Parameter.cpp | 40 ++++++++--------- paddle/parameter/Parameter.h | 5 --- 6 files changed, 18 insertions(+), 90 deletions(-) diff --git a/paddle/capi/gradient_machine.cpp b/paddle/capi/gradient_machine.cpp index f7ad30f3bf6..b3287552db8 100644 --- a/paddle/capi/gradient_machine.cpp +++ b/paddle/capi/gradient_machine.cpp @@ -93,15 +93,6 @@ paddle_error paddle_gradient_machine_load_parameter_from_disk( return kPD_NO_ERROR; } -paddle_error paddle_gradient_machine_load_parameter_from_buffer( - paddle_gradient_machine machine, const char* buf, uint64_t length) { - auto m = cast(machine); - if (m == nullptr || buf == nullptr || m->machine == nullptr) - return kPD_NULLPTR; - m->machine->loadParameters(buf, length); - return kPD_NO_ERROR; -} - paddle_error paddle_gradient_machine_forward(paddle_gradient_machine machine, paddle_arguments inArgs, paddle_arguments outArgs, diff --git a/paddle/capi/gradient_machine.h b/paddle/capi/gradient_machine.h index 2205e0e23aa..c613ade5b24 100644 --- a/paddle/capi/gradient_machine.h +++ b/paddle/capi/gradient_machine.h @@ -57,15 +57,6 @@ paddle_gradient_machine_create_for_inference_with_parameters( PD_API paddle_error paddle_gradient_machine_load_parameter_from_disk( paddle_gradient_machine machine, const char* path); -/** - * @brief Load parameter from buffer. - * @param machine Gradient Machine. - * @param buffer containing all parameters. - * @return paddle_error - */ -PD_API paddle_error paddle_gradient_machine_load_parameter_from_buffer( - paddle_gradient_machine machine, const char* buf, uint64_t length); - /** * @brief Forward a gradient machine * @param machine Gradient machine diff --git a/paddle/gserver/gradientmachines/GradientMachine.cpp b/paddle/gserver/gradientmachines/GradientMachine.cpp index b7678d9b2f0..b44e4dc202f 100644 --- a/paddle/gserver/gradientmachines/GradientMachine.cpp +++ b/paddle/gserver/gradientmachines/GradientMachine.cpp @@ -14,7 +14,6 @@ limitations under the License. */ #include "GradientMachine.h" -#include #include #include "paddle/utils/Logging.h" @@ -82,48 +81,6 @@ void GradientMachine::loadParameters(const std::string& dir) { } } -void GradientMachine::loadParameters(const char* buf, uint64_t length) { - LOG(INFO) << "Loading parameter from pre-load buffer"; - - CHECK_NOTNULL(buf); - CHECK_GE(length, static_cast(sizeof(uint64_t))); - - uint64_t numFiles = 0; - memcpy(&numFiles, buf, sizeof(uint64_t)); - uint64_t position = sizeof(uint64_t); - LOG(INFO) << "numFiles: " << numFiles << ", position: " << position; - - std::map offsets; - std::map lengths; - for (uint64_t i = 0; i < numFiles; i++) { - std::string filename(buf + position); - position += filename.size() + 1; - LOG(INFO) << "filename: " << filename << ", position: " << position; - uint64_t size = 0; - memcpy(&size, buf + position, sizeof(uint64_t)); - position += sizeof(uint64_t); - offsets[filename] = const_cast(buf + position); - lengths[filename] = size; - position += size; - CHECK_GE(length, position); - } - - CHECK_GE(offsets.size(), parameters_.size()); - - for (auto& para : parameters_) { - std::string filename = para->getName(); - if (para->isFullSize()) { - if (offsets.end() == offsets.find(filename)) { - para->loadMiss(filename); - } else { - std::istringstream stream( - std::string(offsets[filename], lengths[filename])); - para->load(stream); - } - } - } -} - void GradientMachine::randParameters() { LOG(INFO) << "Initing parameters.."; diff --git a/paddle/gserver/gradientmachines/GradientMachine.h b/paddle/gserver/gradientmachines/GradientMachine.h index 081518a9d2b..f9c82a2bef8 100644 --- a/paddle/gserver/gradientmachines/GradientMachine.h +++ b/paddle/gserver/gradientmachines/GradientMachine.h @@ -221,8 +221,6 @@ public: void loadParameters(const std::string& dir); - void loadParameters(const char* buf, uint64_t length); - void randParameters(); virtual void getStats(real& cost, int64_t& numProcessed) { diff --git a/paddle/parameter/Parameter.cpp b/paddle/parameter/Parameter.cpp index 80dbb73a7df..ebe36d49376 100644 --- a/paddle/parameter/Parameter.cpp +++ b/paddle/parameter/Parameter.cpp @@ -314,31 +314,27 @@ bool Parameter::save(std::ostream& s) const { /** * Load parameter value from a file */ -bool Parameter::loadMiss(const std::string& filename) { - LOG(INFO) << "missing parameters [" << filename << "] while loading model."; - if (kMissParameterFail == FLAGS_load_missing_parameter_strategy) { - LOG(FATAL) << getName() << " missing, not allowed."; - return false; - } - if (kMissParameterRand == FLAGS_load_missing_parameter_strategy) { - LOG(INFO) << getName() << " missing, set to random."; - randomize(); - return true; - } - if (kMissParameterZero == FLAGS_load_missing_parameter_strategy) { - LOG(INFO) << getName() << " missing, set to zero."; - zeroMem(); - return true; - } - LOG(FATAL) << "unsupported load_missing_parameter_strategy: " - << FLAGS_load_missing_parameter_strategy; - return false; -} - bool Parameter::load(const std::string& filename) { std::ifstream fs(filename, std::ios_base::binary); if (!fs) { - loadMiss(filename); + LOG(INFO) << "missing parameters [" << filename << "] while loading model."; + if (kMissParameterFail == FLAGS_load_missing_parameter_strategy) { + LOG(FATAL) << getName() << " missing, not allowed."; + return false; + } + if (kMissParameterRand == FLAGS_load_missing_parameter_strategy) { + LOG(INFO) << getName() << " missing, set to random."; + randomize(); + return true; + } + if (kMissParameterZero == FLAGS_load_missing_parameter_strategy) { + LOG(INFO) << getName() << " missing, set to zero."; + zeroMem(); + return true; + } + LOG(FATAL) << "unsupported load_missing_parameter_strategy: " + << FLAGS_load_missing_parameter_strategy; + return false; } return load(fs); } diff --git a/paddle/parameter/Parameter.h b/paddle/parameter/Parameter.h index 21932f6b6ee..0bac76f068e 100644 --- a/paddle/parameter/Parameter.h +++ b/paddle/parameter/Parameter.h @@ -201,11 +201,6 @@ public: */ bool save(std::ostream& s) const; - /** - * Fill parameter when file is missed - */ - bool loadMiss(const std::string& filename); - /** * Load parameter value from a file */ -- GitLab