Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 如何对张量/向量的元素应用更改而不更改其引用?_Machine Learning_Lua_Neural Network_Conv Neural Network_Torch - Fatal编程技术网

Machine learning 如何对张量/向量的元素应用更改而不更改其引用?

Machine learning 如何对张量/向量的元素应用更改而不更改其引用?,machine-learning,lua,neural-network,conv-neural-network,torch,Machine Learning,Lua,Neural Network,Conv Neural Network,Torch,我正在共享网络的参数,并希望应用一些操作来更改参数向量的元素。我不能直接在参数张量上做这些操作,因为它们肯定会改变参数向量引用和共享断点。因此,:clone()共享参数向量,并在新向量上应用我想要的更改,并使用:copy()函数替换原始参数向量中的元素。我认为tensor:copy()函数不会更改向量/张量引用,但似乎会更改,因为应用它后,参数共享很快就会崩溃。所以我想知道,有人能修复下面的代码,并提出一种在不破坏共享的情况下更改参数向量元素的方法吗 tempParam = parameters

我正在共享网络的参数,并希望应用一些操作来更改参数向量的元素。我不能直接在参数张量上做这些操作,因为它们肯定会改变参数向量引用和共享断点。因此,:clone()共享参数向量,并在新向量上应用我想要的更改,并使用:copy()函数替换原始参数向量中的元素。我认为tensor:copy()函数不会更改向量/张量引用,但似乎会更改,因为应用它后,参数共享很快就会崩溃。所以我想知道,有人能修复下面的代码,并提出一种在不破坏共享的情况下更改参数向量元素的方法吗

tempParam = parameters:clone()
Do some operations on the tempParam vector
parameters:copy(tempParam) -- Do the replacement (the copy() function breaks the sharing)

我感兴趣的一个操作是钳制,但如果直接应用于参数向量,clamp()函数也会破坏共享。

基本上,您需要一个指向张量的指针,它将修改其原始数据,保留引用和共享。这个链接(张量文档)清楚地解释了这一点。