我需要在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张量?
在以下代码中:
if ( cin >> x ) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
标准库定义了一个操作符转换操作符void*,它将类型istream转换为void*.但是,如果if测试一个条件,为什么标准库没有定义从类型istream到类型bool的转换?或者实施背后是否有任何隐含的考虑?
例如:
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)
将不会.