小编Fra*_*ter的帖子

如何重用Theano函数与不同的共享变量而不重建图形?

我有一个多次调用的Theano函数,每次都有不同的共享变量.现在实现它的方式,每次运行时都会重新定义Theano函数.我假设,这会使整个程序变慢,因为每次定义Theano函数时,图形都会重建.

def sumprod_shared(T_shared_array1, T_shared_array2):
    f = theano.function([], (T_shared_array1 * T_shared_array2).sum(axis=0))
    return f()

for factor in range(10):
    m1 = theano.shared(factor * array([[1, 2, 4], [5, 6, 7]]))
    m2 = theano.shared(factor * array([[1, 2, 4], [5, 6, 7]]))
    print sumprod_shared(m1, m2)
Run Code Online (Sandbox Code Playgroud)

对于非共享(正常)变量,我可以定义一次函数,然后使用不同的变量调用它而不重新定义.

def sumprod_init():
    T_matrix1 = T.lmatrix('T_matrix1')
    T_matrix2 = T.lmatrix('T_matrix2')
    return theano.function([T_matrix1, T_matrix2], (T_matrix1 * T_matrix2).sum(axis=0))    

sumprod = sumprod_init()
for factor in range(10):
    np_array1 = factor * array([[1, 2, 4], [5, 6, 7]])
    np_array2 = factor * array([[1, 2, 4], [5, 6, …
Run Code Online (Sandbox Code Playgroud)

theano

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

将MATLAB图转换为图像

我已经生成了一个类似的情节

figure; hold;
axis([0 10 0 10]);
fill([ 1 1 5 5], [5 1 1 5],'b')
Run Code Online (Sandbox Code Playgroud)

现在我想将这个情节作为一个矩阵,以便我可以用高斯过滤博客.谷歌我发现这个线程在MATLAB Central上用Rasterizing Plot to Image.我试过了,但我只能让它适用于线条或功能图.

你有什么想法?

matlab plot filtering rasterizing

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

如何用ctypes在python中"捕获"c printf?

我希望这是微不足道的,我只是没有在教程中找到它.我正在编写'监督'c代码的python代码,也就是我用python中的ctypes运行c代码.现在我想"捕获"c'printfs'来处理c代码输出的数据.知道怎么会这样做吗?

谢谢

c python printf ctypes

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

使用ctypes访问变量数组的内容

我使用ctypes来访问python中读取C函数的文件.由于读取的数据量巨大且未知,因此我**float在C中使用.

int read_file(const char *file,int *n_,int *m_,float **data_) {...}

函数mallocs是一个称为data适当大小的二维数组,在这里nm,并将值复制到引用的值.请参阅以下代码段:

*data_ = data;
*n_ = n;
*m_ = m;
Run Code Online (Sandbox Code Playgroud)

我使用以下python代码访问此函数:

p_data=POINTER(c_float)
n=c_int(0)
m=c_int(0)
filename='datasets/usps'
read_file(filename,byref(n),byref(m),byref(p_data))
Run Code Online (Sandbox Code Playgroud)

之后我尝试p_data使用contents,但我只获得一个浮点值.

p_data.contents
c_float(-1.0)
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何data在python中访问?

你推荐什么?如果我遗漏了一些不清楚的地方,请不要犹豫!

python ctypes pointers multidimensional-array

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

链接到头文件的头文件未找到.

我对Nvidia的OpenCl/Cuda框架有疑问,但我认为这是一个gcc链接问题.

opencl_hello_world.c示例文件使用下面的头文件:

#include "../OpenCL/common/inc/CL/opencl.h"
Run Code Online (Sandbox Code Playgroud)

opencl.h使用这些头文件:

#include <../OpenCL/common/inc/CL/cl.h>
#include <../OpenCL/common/inc/CL/cl_gl.h>
#include <../OpenCL/common/inc/CL/cl_gl_ext.h>
#include <../OpenCL/common/inc/CL/cl_ext.h>
Run Code Online (Sandbox Code Playgroud)

所以所有头文件都在同一个文件夹中.

当我编译时,gcc opencl_hello_world.c -std=c99 -lOpenCL我得到以下错误消息:

error: ../OpenCL/common/inc/CL/cl.h: No such file or directory
error: ../OpenCL/common/inc/CL/cl_gl.h: No such file or directory
...
Run Code Online (Sandbox Code Playgroud)

即使cl.h和其他头文件位于此文件夹中.

搜索了SO后,我改变了opencl.hto中 的包含

   #include "cl.h"
   #include "cl_gl.h"
Run Code Online (Sandbox Code Playgroud)

我在这里读到:gcc无法找到包含的标题.

但是搞乱框架头文件似乎不怎么样?处理这个问题的正确方法是什么?

c linker gcc header-files

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

PyCUDA:C/C++包括?

在任何地方都没有提到的东西(至少我可以看到)是库函数暴露给内联CUDA内核的东西.

具体来说,我正在进行小/愚蠢的矩阵乘法,这些乘法不值得单独卸载到GPU,而是卸载包含此乘法的算法的更大部分.没有人喜欢使用他们自己的linalg功能,因为有人总是做得更好.

TLDR在PyCUDA下的内联内核中我可以使用哪些库?

python cuda gpgpu inline-code pycuda

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

使用另一个2D阵列索引NumPy 2D阵列

我有类似的东西

m = array([[1, 2],
            [4, 5],
            [7, 8],
            [6, 2]])
Run Code Online (Sandbox Code Playgroud)

select = array([0,1,0,0])
Run Code Online (Sandbox Code Playgroud)

我的目标是

result = array([1, 5, 7, 6])
Run Code Online (Sandbox Code Playgroud)

当我读到Simplfy行和列提取时,我尝试了_ix ,numpy,但这并没有导致我想要的结果.

ps如果您能想到更精确的问题,请更改此问题的标题.

python indexing numpy scipy

5
推荐指数
2
解决办法
4506
查看次数

在Python中打开.h5文件

我正在尝试在Python中读取h5文件。

可以在此链接中找到该文件,该文件称为“ vstoxx_data_31032014.h5”。我尝试运行的代码来自Yves Hilpisch撰写的《 Python for Finance》一书,内容如下:

import pandas as pd     
h5 = pd.HDFStore('path.../vstoxx_data_31032014.h5', 'r')
futures_data = h5['futures_data']  # VSTOXX futures data
options_data = h5['options_data']  # VSTOXX call option data
h5.close()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

h5 = pd.HDFStore('path.../vstoxx_data_31032014.h5', 'r')
Traceback (most recent call last):

  File "<ipython-input-692-dc4e79ec8f8b>", line 1, in <module>
    h5 = pd.HDFStore('path.../vstoxx_data_31032014.h5', 'r')

  File "C:\Users\Laura\Anaconda3\lib\site-packages\pandas\io\pytables.py", line 466, in __init__
    self.open(mode=mode, **kwargs)

  File "C:\Users\Laura\Anaconda3\lib\site-packages\pandas\io\pytables.py", line 637, in open
    raise IOError(str(e))

OSError: HDF5 error back trace

  File "C:\aroot\work\hdf5-1.8.15-patch1\src\H5F.c", line 604, in H5Fopen …
Run Code Online (Sandbox Code Playgroud)

python h5py pandas

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

使用CUDA实现,python(pycuda)或C++处理图像?

我正在使用CUDA处理图像的项目.该项目只是图像的加法或减法.

我可以问你的专业意见,这是最好的,这两者的优点和缺点是什么?

我感谢大家的意见和/或建议,因为这个项目对我来说非常重要.

c++ python cuda pycuda

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

如何在Python中保存大(不大)的dictonaries?

我的字典将由几千个键组成,每个键的值为1000x1000 numpy数组.我不需要该文件是人类可读的.小尺寸和快速装载时间更重要.

首先我尝试了savemat,但我遇到了问题.Pickle导致了一个巨大的文件.我对csv假设相同.我已经阅读了推荐使用json(可读文本可能很大)或db(假设复杂)的帖子.你会为我的案子推荐什么?

python file-io dictionary numpy scipy

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