目前,我正在做一些内存密集型的文字处理,我必须构建sparse matrix的float32s与尺寸~ (2M, 5M).我在阅读5M文档的语料库时逐列构建此矩阵.为此,我使用了稀疏dok_matrix数据结构SciPy.但是,当到达第500 000个文档时,我的内存已满(使用大约30GB)并且程序崩溃.我最终想要做的是,使用矩阵对矩阵执行降维算法sklearn,但是,如上所述,不可能在内存中保持和构造整个矩阵.我已经研究过numpy.memmap,正如sklearn支持这一点,并尝试memmap了SciPy稀疏矩阵的一些潜在的numpy数据结构,但我无法成功实现这一点.
我不可能以密集格式保存整个矩阵,因为这需要40TB的磁盘空间.所以,我认为,HDF5和PyTables对我来说没有选项(?).
我现在的问题是:如何动态构建稀疏矩阵,但是直接写入磁盘而不是内存,以后我可以在sklearn中使用它?
谢谢!
我已经设置了一个活动的Django模型,其中包含以下字段:
class Activity(models.Model):
...
thumbnail = models.ImageField(upload_to="thumbs/", blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
通过管理界面,我可以上传一个正确放置在主目录的thumb文件夹中的图像.当我尝试编辑我创建的活动时,界面显示:Currently: thumbs/image.png这是指向的超链接http://localhost:8000/media/thumbs/image.png.当我单击此链接时,我收到404页面找不到错误.如何才能获得指向我上传的图像的链接?如果可能,如何直接在管理界面中显示图像?
编辑:
MEDIA_ROOT = '/Users/.../mysite/media/'; MEDIA_URL = 'http://localhost:8000/media/';
urls.py的内容:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
)
Run Code Online (Sandbox Code Playgroud)
谢谢!