提交 388d5393 编写于 作者: L liuruilong

enforce open file failed

上级 f4fe4fa8
...@@ -12,20 +12,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ...@@ -12,20 +12,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. */ limitations under the License. */
#include "io.h"
#include <vector>
#include <fstream> #include <fstream>
#include "common/log.h" #include "common/log.h"
#include "framework/framework.pb.h" #include "common/enforce.h"
#include "framework/lod_tensor.h"
#include "framework/program/program_desc.h"
#include "framework/scope.h" #include "framework/scope.h"
#include "framework/tensor.h" #include "framework/tensor.h"
#include "io.h" #include "framework/lod_tensor.h"
#include "framework/framework.pb.h"
#include "framework/program/program_desc.h"
namespace paddle_mobile { namespace paddle_mobile {
void ReadBinaryFile(const std::string &filename, std::string *contents) { void ReadBinaryFile(const std::string &filename, std::string *contents) {
std::ifstream fin(filename, std::ios::in | std::ios::binary); std::ifstream fin(filename, std::ios::in | std::ios::binary);
PADDLE_MOBILE_ENFORCE(fin.is_open(),
"open file: %s failed", filename.c_str());
fin.seekg(0, std::ios::end); fin.seekg(0, std::ios::end);
contents->clear(); contents->clear();
contents->resize(fin.tellg()); contents->resize(fin.tellg());
...@@ -38,7 +42,8 @@ template <typename Dtype, Precision P> ...@@ -38,7 +42,8 @@ template <typename Dtype, Precision P>
void Loader<Dtype, P>::LoadVar(framework::LoDTensor *tensor, void Loader<Dtype, P>::LoadVar(framework::LoDTensor *tensor,
const std::string &file_path) { const std::string &file_path) {
std::ifstream is(file_path); std::ifstream is(file_path);
PADDLE_MOBILE_ENFORCE(is.is_open(),
"open file: %s failed", file_path.c_str());
std::fpos<mbstate_t> pos; std::fpos<mbstate_t> pos;
pos = is.tellg(); // save current position pos = is.tellg(); // save current position
is.seekg(0, std::ios::end); is.seekg(0, std::ios::end);
...@@ -238,6 +243,8 @@ const framework::Program<Dtype, P> Loader<Dtype, P>::Load( ...@@ -238,6 +243,8 @@ const framework::Program<Dtype, P> Loader<Dtype, P>::Load(
var.type().type() != framework::proto::VarType::FETCH_LIST) { var.type().type() != framework::proto::VarType::FETCH_LIST) {
std::string file_path = dirname + "/" + var.name(); std::string file_path = dirname + "/" + var.name();
std::ifstream is(file_path); std::ifstream is(file_path);
PADDLE_MOBILE_ENFORCE(is.is_open(),
"open file: %s failed", file_path.c_str());
std::fpos<mbstate_t> pos; std::fpos<mbstate_t> pos;
pos = is.tellg(); // save current position pos = is.tellg(); // save current position
is.seekg(0, std::ios::end); is.seekg(0, std::ios::end);
......
...@@ -18,8 +18,8 @@ limitations under the License. */ ...@@ -18,8 +18,8 @@ limitations under the License. */
#include "common/types.h" #include "common/types.h"
#include "framework/lod_tensor.h" #include "framework/lod_tensor.h"
#include "framework/paddle_mobile_object.h"
#include "framework/program/program.h" #include "framework/program/program.h"
#include "framework/paddle_mobile_object.h"
namespace paddle_mobile { namespace paddle_mobile {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册