3

我从 Ubuntu 的源代码安装了 Caffe2。我不使用 Anaconda,我的 python 是 python2。

which python给我

/usr/bin/python

我可以在 python 中导入 lmdb。我可以从此页面运行教程

我在测试其中一个示例时遇到的问题是“无法打开 lmdb 文件”。

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-19-c9a97f268658> in <module>()
      1 # The parameter initialization network only needs to be run once.
      2 # Now all the parameter blobs are initialized in the workspace.
----> 3 workspace.RunNetOnce(train_model.param_init_net)
      4 
      5 # Creating an actual network as a C++ object in memory.

/home/pytorch/build/caffe2/python/workspace.py in RunNetOnce(net)
    199         C.Workspace.current._last_failed_op_net_position,
    200         GetNetName(net),
--> 201         StringifyProto(net),
    202     )
    203 

/home/pytorch/build/caffe2/python/workspace.py in CallWithExceptionIntercept(func, op_id_fetcher, net_name, *args, **kwargs)
    178 def CallWithExceptionIntercept(func, op_id_fetcher, net_name, *args, **kwargs):
    179     try:
--> 180         return func(*args, **kwargs)
    181     except Exception:
    182         op_id = op_id_fetcher()

RuntimeError: [enforce fail at db.h:190] db_. Cannot open db: /home/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb of type lmdbError from operator: 
output: "dbreader_/home/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb" name: "" type: "CreateDB" arg { name: "db_type" s: "lmdb" } arg { name: "db" s: "/home/caffe2_notebooks/tutorial_data/mnist/mnist-train-nchw-lmdb" }

我拥有所有文件并具有读取权限。

我用USE_LMDB=ON.

我看到了同样的问题,但找不到他们是如何解决这些问题的。我的笔记本电脑系统很小Ubuntu 16.4, with Nvidia Cuda GeForce GT 750M,型号很旧。

然后我发现在一页。他们通过更改 lbdb.cc 中的 LMDB_MAP_SIZE 解决了这个问题。所以我换了4G,但还是有错误。

constexpr size_t LMDB_MAP_SIZE = 4294967296;//4gb 1099511627776;  // 1 TB

问题出在这一行

workspace.RunNetOnce(train_model.param_init_net)

如何解决问题?

4

0 回答 0