Torch + nn: 一些电脑上出现“非法指令”错误
2016-10-12 17:57:19
收藏:0
阅读:74
评论:0
我希望能利用 Torch 和深度神经网络进行本科研究。但是,我在我的导师的服务器上安装 Torch 的过程中出现了问题。
我所看到的行为是,当我在我的导师的服务器上运行本文末尾的代码时,程序在 criterion:forward(mlp:forward(input), output) 这一行运行到一半就出现了 非法指令 的错误。然而,在我的本地安装中,程序运行到完成并打印结果。
因此,我认为我的导师机器上的安装存在问题。我的问题是: 1)有人能确认这是否是一个已知/常见的问题吗? 2)我需要如何解决这个问题?
-- 训练 NN 以识别以下函数:
-- f(x_1, x_2) = (x_1 * x_2 > 0).
-- 我们将使用神经网络
require 'nn'
-- 设置神经网络
--[[ 2 20 20 1
input[1] -- /--------\ -- /------\ -- /--------\
| linear | -- | tanh | -- | linear | -- output
input[2] -- \--------/ -- \------/ -- \--------/
]]--
mlp = nn.Sequential();
inputs = 2; outputs = 1; HUs = 20;
mlp:add(nn.Linear(inputs, HUs));
mlp:add(nn.Tanh());
mlp:add(nn.Linear(HUs, outputs))
-- 我们希望使用 MSE
误差 = nn.MSECriterion()
-- 提供 2500 个训练数据点
print("迭代...")
for i = 1,2500 do
local input = torch.randn(2);
local output = torch.Tensor(1);
if (input[1] * input[2] > 0) then
output[1] = -1
else
output[1] = 1
end
criterion:forward(mlp:forward(input), output)
mlp:zeroGradParameters()
mlp:backward(input, criterion:backward(mlp.output, output))
mlp:updateParameters(0.01)
end
print("模型已训练...")
-- 测试模型
x = torch.Tensor(2)
x[1] = 0.5; x[2] = 0.5; print(mlp:forward(x));
x[1] = 0.5; x[2] = -0.5; print(mlp:forward(x));
x[1] = -0.5; x[2] = 0.5; print(mlp:forward(x));
x[1] = -0.5; x[2] = -0.5; print(mlp:forward(x));
(如果需要下载文件,请访问 GitHub 链接)
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
