小编use*_*645的帖子

是否可以使用matlab访问数组,如C++中的索引?

我正在考虑使用类似索引的matlab访问C++数组,例如a[1 , :].这将非常方便.

我重载了operator [],但似乎不可能有a[1, : ]语法.

我想出的解决方案是编写一个脚本,该脚本预处理C++源代码并a[1, :]转换为C++函数,例如col(a, 1).但这似乎很费力.

有没有人有更好的解决方案?谢谢!!

c++

4
推荐指数
1
解决办法
539
查看次数

OSError:libcublas.so.3:无法打开共享对象文件:没有这样的文件或目录

我试图导入cudamat.然后我遇到了错误:

OSError: libcublas.so.3: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我试图找到libcublas

/usr/local/MATLAB/MATLAB_Production_Server/R2013a/bin/glnxa64/libcublas.so.5.0
/usr/local/MATLAB/MATLAB_Production_Server/R2013a/bin/glnxa64/libcublas.so.5.0.40
/usr/local/cuda-5.5/lib/libcublas.so
/usr/local/cuda-5.5/lib/libcublas.so.5.5
/usr/local/cuda-5.5/lib/libcublas.so.5.5.22
/usr/local/cuda-5.5/lib/libcublas_device.a
/usr/local/cuda-5.5/lib64/libcublas.so
/usr/local/cuda-5.5/lib64/libcublas.so.5.5
/usr/local/cuda-5.5/lib64/libcublas.so.5.5.22
/usr/local/cuda-5.5/lib64/libcublas_device.a
/usr/local/cuda-5.5/targets/x86_64-linux/lib/libcublas.so
/usr/local/cuda-5.5/targets/x86_64-linux/lib/libcublas.so.5.5
/usr/local/cuda-5.5/targets/x86_64-linux/lib/libcublas.so.5.5.22
/usr/local/cuda-5.5/targets/x86_64-linux/lib/libcublas_device.a
Run Code Online (Sandbox Code Playgroud)

我能做什么?对不起,我不熟悉ubuntu.谢谢 !

问题已经结束

我自己解决了这个问题

首先设置PATH和LD_LIBRARY_PATH

$ export PATH=/usr/local/cuda-5.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-5.5/lib64:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

然后建立一个符号链接

sudo ln -s /usr/local/cuda-5.5/lib64/libcublas.so /usr/local/cuda-5.5/lib64/libcublas.so.3
Run Code Online (Sandbox Code Playgroud)

ubuntu cuda

4
推荐指数
1
解决办法
1万
查看次数

递归神经网络(Elman网络).上下文隐藏/隐藏到上下文层权重需要更新?

我刚开始研究循环神经网络.我在Elman的网络上找到了三个信息来源(Elman 1991).

  1. (示例和代码)http://mnemstudio.org/neural-networks-elman.htm

  2. (论文)http://www.sysc.pdx.edu/classes/Werbos-Backpropagation%20through%20time.pdf

  3. (Q&A)在神经网络训练期间的Elman和Jordan背景值

根据第一资源,不更新从隐藏到上下文/上下文到隐藏层的权重.

从第二个资源,它还将这些更新设置为0,这意味着它不会更新权重.

但是从Stackoverflow上的第三个资源,用户声称"随着训练的进行,上下文神经元神经元值本身不会更新.在训练期间,它们与下一层之间的权重会更新."

我理解上下文神经元在时间t保存隐藏神经元的值,并将其(与输入神经元一起)馈送到t + 1处的隐藏神经元.但我们是否必须更新其间的权重?

machine-learning neural-network

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

c ++为什么不能使用指针调用overloaded()with->

只是出于好奇.如果允许使用 - >通过指针调用函数,为什么不通过 - >调用operator()?

#include <iostream>

using namespace std;

struct point {
   int x;
   int y;
   void show() {cout<< x <<" : "<< y <<endl;}
   void operator()() {cout<< x <<" : "<< y <<endl;}
};

int main()
{
   point p;
   p.x=1; p.y=2;
   p();

   point* ptr = &p;
   ptr->show();
   (*ptr)();    // ok
   ptr->();     // error
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误:

main.cpp:20:9: error: expected unqualified-id before '(' token
ptr->();
Run Code Online (Sandbox Code Playgroud)

我知道ptr-> func()等价于(*ptr).func(),因此可以直接从指针调用重载运算符,而无需解除引用.函数和重载运算符之间的内部差异是什么?

c++ operator-overloading

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

if语句中的c ++返回值

这是一个非常简单的问题.

说我有一个功能:

 int fun(int n){
     if (n > 3)
         return n;
     else
         fail(); // this function outputs error message 
                 // and terminates the program
                 // no return value
 }
Run Code Online (Sandbox Code Playgroud)

然后,对于n <= 3的情况,没有返回值.怎么解决这个问题?

c++

0
推荐指数
2
解决办法
3023
查看次数