小编oba*_*tos的帖子

从R Studio中的mclapply打印

我使用mclapply从内部RStudio,想有一个输出到每个流程控制台但这似乎以某种方式抑制(如提及例如这里:是mclapply保证返回其为了结果?).我怎么能让R Studio打印出像这样的东西

x <- mclapply(1:20, function(i) cat(i, "\n"))

到控制台?

我已经尝试过print(),cat(),write(),但它们似乎都没有用.我也尝试mc.silent = FALSE明确设置没有效果.

r rstudio mclapply

13
推荐指数
2
解决办法
2910
查看次数

在numpy中沿一个轴分组数据

我有一个大的二维数组arr,我想使用numpy在第二轴上.因为np.histogram扁平化我正在使用for循环的数组:

import numpy as np

arr = np.random.randn(100, 100)

nbins = 10
binned = np.empty((arr.shape[0], nbins))

for i in range(arr.shape[0]):
    binned[i,:] = np.histogram(arr[i,:], bins=nbins)[0]
Run Code Online (Sandbox Code Playgroud)

我觉得应该有一个更直接,更有效的方法在numpy内做到这一点,但我没有找到一个.

python numpy histogram binning

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

sklearns OMP中的“字典中的线性相关性”异常

我正在使用sklearns OrthogonalMatchingPursuit通过使用KSVD 算法学习的字典来获得信号的稀疏编码。但是,在拟合过程中,我得到以下RuntimeWarning:

/usr/local/lib/python2.7/dist-packages/sklearn/linear_model/omp.py:391: RuntimeWarning:  Orthogonal matching pursuit ended prematurely due to linear
dependence in the dictionary. The requested precision might not have been met.

  copy_X=copy_X, return_path=return_path)
Run Code Online (Sandbox Code Playgroud)

在那些情况下,结果确实不令人满意。我没有得到这个警告的要点,因为在稀疏编码中通常有一个不完整的字典,因此字典中也存在线性依赖性。对于OMP而言,这不应该成为问题。实际上,如果字典是方矩阵,也会发出警告。

此警告可能还会指出应用程序中的其他问题吗?

python compression machine-learning scikit-learn

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

scipy.sparse.csr_matrix.toarray()占用大量内存

我有一个相当大的稀疏矩阵A作为scipy.sparse.csr_matrix。它具有以下属性:

A.shape: (77169, 77169)
A.nnz: 284811011
A.dtype: dtype('float16')
Run Code Online (Sandbox Code Playgroud)

现在我必须使用将其转换为密集数组.toarray()。我对内存使用量的估计是

77169**2 * (16./8.) / 1024.**3 = 11.09... GB
Run Code Online (Sandbox Code Playgroud)

这很好,因为我的机器有 ~48GB 内存。事实上,如果我创建的a=np.ones((77169, 77169), dtype=np.float16)话,效果确实很好a.nbytes/1024.**3 = 11.09...。但是,当我A.toarray()在稀疏矩阵上运行时,它会打包所有内存并在某个时刻开始使用交换(它不会引发MemoryError)。这里出了什么问题?难道它不应该很容易融入我的记忆吗?

python memory numpy scipy sparse-matrix

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