标签: torch

Lua库中的Strange C语法

我看到这样的功能整个火炬库的C代码:

long THTensor_(storageOffset)(const THTensor *self)
{
  return self->storageOffset;
}
Run Code Online (Sandbox Code Playgroud)

这是一个预处理器的东西,还是具体的lua?我认为这个想法与"类"中storageOffset的一种排序方法有关THTensor,但我从未见过这种语法.

c lua torch

3
推荐指数
1
解决办法
385
查看次数

这个C代码(来自lua库,Torch)如何编译/工作?

请参阅https://github.com/torch/nn/blob/master/generic/Tanh.c

例如,

 static int nn_(Tanh_updateOutput)(lua_State *L)
{
   THTensor *input = luaT_checkudata(L, 2, torch_Tensor);
   THTensor *output = luaT_getfieldcheckudata(L, 1, "output", torch_Tensor);

   THTensor_(resizeAs)(output, input);

   if (input->nDimension == 1 || !THTensor_(isContiguous)(input) || !THTensor_(isContiguous)(output))
   {
    TH_TENSOR_APPLY2(real, output, real, input,   \
     *output_data = tanh(*input_data););
    }
  else
  {
   real* ptr_output = THTensor_(data)(output);
   real* ptr_input  = THTensor_(data)(input);
   long i;
 #pragma omp parallel for private(i)
for(i = 0; i < THTensor_(nElement)(input); i++)
  ptr_output[i] = tanh(ptr_input[i]);
}
return 1;
}
Run Code Online (Sandbox Code Playgroud)

首先,我不知道如何解释第一行:

 static int nn_(Tanh_updateOutput)(lua_State *L)
Run Code Online (Sandbox Code Playgroud)

这里的论点是什么?Tanh_updateOutput是指什么?"nn_"有特殊含义吗?

第二,"TH_TENSOR_APPLY2"和"THTensor _(...)"都被使用,但我看不到它们的定义?此文件中没有其他内容?

c lua luajit torch

3
推荐指数
1
解决办法
517
查看次数

Torch 7如何加载不适合内存的非常大的数据集?

我有一些非常大的数据集,我想加载到Torch.但在运行学习算法之前,我无法将它们完全加载到内存中.

我该怎么做才能最大限度地提高性能

machine-learning deep-learning torch

3
推荐指数
1
解决办法
1699
查看次数

Torch Cuda - 在两个GPU核心上生成两个进程

当我跑;

require 'cutorch'
Run Code Online (Sandbox Code Playgroud)

在lua中,它会自动为GPU中的两个核心分配两个进程.例如,我得到以下输出nvidia-smi;

---------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0                  Not Supported                                         |
|    1      6091    C   /home/msmith/torch/install/bin/qlua             98MiB |
|    2      6091    C   /home/msmith/torch/install/bin/qlua             99MiB |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

我希望能够控制进程中的GPU.我试过了;

cutorch.setDevice(<Device Number>)
Run Code Online (Sandbox Code Playgroud)

但这只会在GPU上创建更多进程.

谢谢.

luajit torch

3
推荐指数
1
解决办法
1214
查看次数

火炬中的列总和

我如何在火炬的柱子上总结?我有一个128*1024张量,我希望通过对所有行求和得到1*1024张量.

例如:a:

1 2 3 4 5 6

我想要b

5 7 9

torch

3
推荐指数
1
解决办法
845
查看次数

火炬nn:如何获得输出的尺寸(特征图)?

在卷积模块中,许多参数可能改变输入的维数.有没有办法获得卷积模块输出的维数,或者通常是任何模块的维数?

我试着看看暴露的方法,SpatialConvolution但没有一个建议给我这些信息.

而且,输出张量似乎有这些维度:

conv1 = nn.SpatialConvolution(3, 96, 5, 5, 1, 1, 2, 2)
conv1.id   = 'conv1'
print(conv1.output:size())
[torch.LongStorage of size 0]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

我意识到我甚至没有设置输入维度,除了通道的数量(可能3x32x32).怎么设置呢?为什么不强制要求?

lua neural-network deep-learning torch conv-neural-network

3
推荐指数
1
解决办法
2333
查看次数

Lua Torch相当于np.where()?

我有一个,ByteTensor并希望获得有一个指数1.在numpy,我可以做类似的事情

a = np.array([1,0,1,0,1])
return np.where(a)
Run Code Online (Sandbox Code Playgroud)

哪会回来(array([0, 2, 4]),).这个功能是在Torch中定义的吗?

(在我的特定情况下,我想使用这些索引来索引几个不同的Tensor对象,但是知道如何通常这样做会很好.)

lua numpy torch

3
推荐指数
1
解决办法
774
查看次数

要求('图像')在Torch7中不起作用

我用luarocks安装了'image'包

$ luarocks  install image
Run Code Online (Sandbox Code Playgroud)

一切都安装没有任何错误.每当我尝试使用它时,都会返回以下错误:

> th> require('image')
>
> /home/khurram/torch/install/share/lua/5.1/trepl/init.lua:384:
> /home/khurram/torch/install/share/lua/5.1/trepl/init.lua:384: module
> 'sys.fpath' not found:No LuaRocks module found for sys.fpath  no field
> package.preload['sys.fpath']  no file
> '/home/khurram/.luarocks/share/lua/5.1/sys/fpath.lua'     no file
> '/home/khurram/.luarocks/share/lua/5.1/sys/fpath/init.lua'    no file
> '/home/khurram/torch/install/share/lua/5.1/sys/fpath.lua'     no file
> '/home/khurram/torch/install/share/lua/5.1/sys/fpath/init.lua'    no
> file './sys/fpath.lua'    no file
> '/home/khurram/torch/install/share/luajit-2.1.0-beta1/sys/fpath.lua'
>   no file '/usr/local/share/lua/5.1/sys/fpath.lua'    no file
> '/usr/local/share/lua/5.1/sys/fpath/init.lua'     no file
> '/home/khurram/.luarocks/lib/lua/5.1/sys/fpath.so'    no file
> '/home/khurram/torch/install/lib/lua/5.1/sys/fpath.so'    no file
> '/home/khurram/torch/install/lib/sys/fpath.so'    no file
> './sys/fpath.so'  no file '/usr/local/lib/lua/5.1/sys/fpath.so'   no …
Run Code Online (Sandbox Code Playgroud)

lua machine-learning deep-learning ubuntu-14.04 torch

3
推荐指数
1
解决办法
2557
查看次数

火炬数据集的结构是什么?

我开始使用手电筒7,并且要对数据集进行分类。我已经制作了像素图像和相应的标签。但是,我不知道如何将这些数据输入到割炬中。我从其他人那里读取了一些代码,发现它们正在使用扩展名为'.t7'的数据集,我认为这是张量类型。这样对吗?我不知道如何将我的像素图像(实际上是我通过使用MNIST数据集使用Matlab制作的)转换为与割炬兼容的t7扩展名。必须有t7格式的数据集结构,但我找不到它(标签也是如此)。

总而言之,我有像素图像和标签,并希望将其转换为与手电筒兼容的t7格​​式。

提前致谢!

matlab dataset mnist torch

3
推荐指数
1
解决办法
3561
查看次数

lua将userdata转换为字符串

我正在尝试将一些userdata打印出来作为一个字符串,但lua的文档相当弱到不存在.如何将userdata变量转换为字符串,以便将其写入文件?

lua torch

3
推荐指数
1
解决办法
5429
查看次数