小编Mar*_*lus的帖子

在火炬7中初始化张量的快速方法

我需要在torch7中初始化具有索引相关函数的3D张量,即

func = function(i,j,k)  --i, j is the index of an element in the tensor
    return i*j*k        --do operations within func which're dependent of i, j
end
Run Code Online (Sandbox Code Playgroud)

然后我初始化一个像这样的3D张量A:

for i=1,A:size(1) do
    for j=1,A:size(2) do
        for k=1,A:size(3) do
            A[{i,j,k}] = func(i,j,k)
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

但是这段代码运行得非常慢,我发现它占总运行时间的92%.有没有更有效的方法来初始化火炬7中的3D张量?

lua for-loop matrix deep-learning torch

5
推荐指数
1
解决办法
3533
查看次数

C++转换运算符

在以下代码中:

if ( cin >> x ) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

标准库定义了一个操作符转换操作符void*,它将类型istream转换为void*.但是,如果if测试一个条件,为什么标准库没有定义从类型istream到类型bool的转换?或者实施背后是否有任何隐含的考虑?

c++

2
推荐指数
1
解决办法
249
查看次数

为什么具有单个参数值的函数必须具有为每个参数指定的默认值?

例如:

void DoSome(int a = 10, int b = 10 ) {
    std::cout << a + b << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

作品.但

void DoSome(int a = 10, int b ) {
  std::cout << a + b << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

将不会.

c++ syntax

0
推荐指数
1
解决办法
77
查看次数

标签 统计

c++ ×2

deep-learning ×1

for-loop ×1

lua ×1

matrix ×1

syntax ×1

torch ×1