我试图在每对物品之间找到相似之处。项目在python词典中,我一次找到相似性对。代码是 -
var gulp = require('gulp');
var concat = require('gulp-concat');
var foo = require('./index');
var insert = require('gulp-insert');
gulp.task('default', function() {
gulp.src([a.html, b.html, c.html])
.pipe(foo()
.pipe(insert.append('xxx'))
.pipe(concat('output.js'))
.pipe(gulp.dest('./test/output'))
});
问题是外部循环每个项目花费5秒钟。我有~300,000项,所以整个计算需要18天。有没有办法提高速度?我可以使用像Theano,Tensorflow这样的软件包并使用GPU吗?或者可以采用云并将流程并行化?
答案 0 :(得分:1)
如果没有任何操作或构建块可用于此类所有相似性比较,我认为机器学习库在这里特别有用。
我认为通过查看更通用的并行化解决方案可以带来更好的运气:OpenMP,TBB,MapReduce,AVX,CUDA,MPI,map reduce等。
此外,在C ++中重写相同的代码肯定会加快速度。