安装nngraph

安装nngraph,第1张

参考链接

  • 参考链接1: https://github.com/torch/nngraph/issues/52
  • 参考链接2: https://github.com/torch/paths/blob/master/rocks/paths-scm-1.rockspec
  • 参考链接3: https://github.com/torch/rocks/blob/master/torch-scm-1.rockspec
  • 参考链接4: https://github.com/torch/rocks/blob/master/cwrap-scm-1.rockspec

各种需要的文件

1.  torch7-master.zip
2.  paths-master.zip
3.  nngraph-master.zip
4.  graph-master.zip
5.  cwrap-master.zip

问题

      在Ubuntu18.04上运行lua代码的时候遇到了缺少nngraph的问题,各种google都找不到,只有参考链接1有一点儿线索。链接中给的解决方案如下

sudo luarocks --from=https://raw.githubusercontent.com/torch/rocks/master/ install nngraph

      此解决方案是在2015年底提出来的,现在由于安全的原因报出如下问题。但这错误提示给我们提供了一点儿解决问题的线索。

解决方案

  1. 错误提示中间那个github地址无法下载。我们在github上搜索paths,找到了参考链接2 的地址,将整个torch/paths项目下载下来(paths-master.zip文件) 。然后使用unzip paths-master.zip进行解压。
  2. 进入paths-master目录,使用
sudo luarocks make rocks/paths-scm-1.rockspec

命令进行编译安装。最后结果如下

  1. 继续执行命令
sudo luarocks --from=https://raw.githubusercontent.com/torch/rocks/master/ install nngraph

依然发现如下错误

这次我们将torch-scm-1.rockspec(参考链接3)和cwrap-scm-1.rockspec(参考链接4)一起安装。

  1. 链接3和链接4显示的是众多的rocks中的两个,并没有源码。因此无法通过源码编译进行安装,仔细查看内容,我们发现了它的源码地址(由于链接3的安装依赖于链接4,因此我们先安装链接4中的cwrap-scm-1.rockspec)。

  2. 可以通过命令行拉取url字段中的源码,也可以在浏览器中进入homepage字段的地址进行下载。

  3. 下载完成后(参见各种需要的文件中的cwrap-master.zip文件)。 解压并进入cwrap-master文件夹,输入命令

sudo luarocks make rocks/cwrap-scm-1.rockspec

则如下所示,安装完成

  1. 同样的 *** 作获取参考链接3中的torch-scm-1.rockspec源码(参见各种需要的文件中的torch7-master.zip文件)。解压并进入torch7-master文件夹,执行命令
sudo luarocks make rocks/torch-scm-1.rockspec

这是一个比较耗时的过程,耐心等待命令运行完成。最后结果如下所示

  1. 继续执行命令
sudo luarocks --from=https://raw.githubusercontent.com/torch/rocks/master/ install nngraph

看看还缺少什么。

  1. 果然还缺少文件,我们从下往上依次安装

  2. grap-scm-1.rockspec的地址输入浏览器,我们能看到它的源码地址。

  3. 同样可以通过两种方法得到源码(参见各种需要的文件中的graph-master.zip文件 )。下载、解压、进入graph-master目录并执行命令。

sudo luarocks make rocks/graph-scm-1.rockspec
  1. 安装完成

  2. 同样的方式找到nngraph的下载地址为https://github.com/torch/nngraphgit://github.com/torch/nngraph

  3. 将下载好的文件(或参见各种需要的文件中的nngraph-master.zip文件)解压进入nngraph-master目录, 使用mkdir rocks创建文件夹,并新建rocks/nngraph-scm-1.rockspec文件,内容为

package = "nngraph"
version = "scm-1"

source = {
   url = "git://github.com/torch/nngraph",
   tag = "master"
}

description = {
   summary = "This package provides graphical computation for nn library in Torch7.",
   homepage = "https://github.com/torch/nngraph",
   license = "UNKNOWN"
}

dependencies = {
   "torch >= 7.0",
   "graph",
   "nn"
}

build = {
   type = "command",
   build_command = [[
cmake -E make_directory build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$(LUA_BINDIR)/.." -DCMAKE_INSTALL_PREFIX="$(PREFIX)" && $(MAKE)
   ]],
   install_command = "cd build && $(MAKE) install"
}
  1. nngraph-master目录下执行
sudo luarocks make rocks/nngraph-scm-1.rockspec

安装,安装结果如下

测试

  1. 使用lua交互环境运行require 'nngraph'时,会报如下错误。
  2. 使用lua5.1交互环境运行require 'nngraph'时,会报如下错误。

    上述是两个完全不同的错误,接下来研究如何解决。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/736975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存