标签: disco

Disco/MapReduce:使用先前迭代的结果作为新迭代的输入

目前正在迪斯科实施PageRank.作为迭代算法,一次迭代的结果用作下一次迭代的输入.

我有一个代表所有链接的大文件,每行代表一个页面,行中的值代表它链接的页面.

对于Disco,我将此文件分成N个块,然后运行MapReduce一轮.结果,我获得了一组(页面,排名)元组.

我想把这个等级提供给下一次迭代.但是,现在我的mapper需要两个输入:图形文件和pageranks.

  1. 我想将图形文件和页面排列"压缩"在一起,这样每行代表一个页面,它的排名,以及它的链接.
  2. 由于这个图形文件被分成N个块,我需要将pagerank向量分成N个并行块,并将pagerank向量的区域压缩到图块中

这似乎比必要的更复杂,并且作为一个非常简单的操作(使用典型的mapreduce算法),似乎我错过了一些可以真正简化方法的Disco.

有什么想法吗?

python mapreduce disco

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

用于 Map-Reduce 的 Celery 或 Python 中的其他替代品?

我有非常适合在 map-and-reduce 模型下运行的昂贵作业(长话短说,它是聚合以前通过一些耗时的算法计算的数百个排名)。

我想并行化集群上的作业(不仅仅是多处理),并专注于 2 个实现:CeleryDisco。Celery 不支持开箱即用的 naive map-and-reduce,尽管使用 TaskSets 可以轻松完成“map”部分,但您如何有效地实现“reduce”部分?

(我对disco的问题是它不能在Windows上运行,而且我已经为程序的另一部分设置了celery,所以运行另一个map-reduce框架似乎相当不雅。)

python mapreduce disco celery

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

WSDL.exe 生成的 Web 服务代理代码与“更新 Web 参考” - 我应该关心吗?

使用 Visual Studio 2010,我们有一个包含多个网站(不是 Web 应用程序项目)以及命令行和 winforms 项目的解决方案。所有目标都是.Net 2.0。许多项目在网站中都有对 ASMX Web 服务的 Web 引用。

Web 服务经常变化,因此当我们编译所有内容时,我们必须手动遍历所有项目并更新 Web 服务引用。我现在已成功使用disco.exewsdl.exe自动化此操作。但我担心 wsdl.exe 生成的代码与 VS 中的 Web 参考的手动更新之间的差异。

wsdl.exe 生成如下代码:

public WebServiceName() {
    string urlSetting = System.Configuration.ConfigurationManager.AppSettings["WebServiceName"];
    if ((urlSetting != null)) {
        this.Url = urlSetting;
    }
    else {
        this.Url = "http://example/webservicename.asmx";
    }
}
Run Code Online (Sandbox Code Playgroud)

而VS生成的代码是这样的:

private bool useDefaultCredentialsSetExplicitly;

public WebServiceName() {
    this.Url = global::ProjectName.Properties.Settings.Default.ProjectName_WebServiceNameWebService_WebServiceName;
    if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
        this.UseDefaultCredentials = true;
        this.useDefaultCredentialsSetExplicitly = false;
    }
    else {
        this.useDefaultCredentialsSetExplicitly = true; …
Run Code Online (Sandbox Code Playgroud)

c# wsdl web-services asmx disco

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

Disco Diffusion:PytorchStreamReader 读取 zip 存档失败:找不到中央目录

我尝试使用基本默认设置运行 Disco Diffusion v5,但在尝试创建图像时出现此错误。有谁知道如何解决这一问题?

Starting Run: Horse 02(0) at frame 0

Prepping model...

RuntimeError                              Traceback (most recent call last)
<ipython-input-20-da8a92ac51ae> in <module>()
    148 print('Prepping model...')
    149 model, diffusion = create_model_and_diffusion(**model_config)
--> 150 model.load_state_dict(torch.load(f'{model_path}/{diffusion_model}.pt', map_location='cpu'))
    151 model.requires_grad_(False).eval().to(device)
    152 for name, param in model.named_parameters():

1 frames
/usr/local/lib/python3.7/dist-packages/torch/serialization.py in __init__(self, name_or_buffer)
    240 class _open_zipfile_reader(_opener):
    241     def __init__(self, name_or_buffer) -> None:
--> 242         super(_open_zipfile_reader, self).__init__(torch._C.PyTorchFileReader(name_or_buffer))
    243 
    244 

RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory
Run Code Online (Sandbox Code Playgroud)

python disco

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

mapreduce与其他并行处理解决方案

因此,问题是:1.对于以下问题,mapreduce开销是否过高?有没有人知道每个地图/减少周期(例如迪斯科)需要多长时间才能完成一项非常轻松的工作?2.对于这个问题,mapreduce有更好的替代方案吗?

在地图缩减术语中,我的程序由60个地图阶段和60个减少阶段组成,所有这些阶段需要在1秒内完成.我需要以这种方式解决的问题之一是使用大约64000个变量的最小搜索.用于搜索的粗糙矩阵是块矩阵,沿对角线的1000个块大小为64×64,并且在最右侧和底部具有一行块.最后一部分:块矩阵求逆算法显示了这是如何完成的.可以在一个mapreduce步骤中计算Schur补码S_A和S_D中的每一个.逆的计算又需要一步.

从我迄今为止的研究来看,mpi4py似乎是一个不错的选择.每个流程都可以执行计算步骤,并在每个步骤之后向客户端报告,客户端可以使用新的状态变量向后报告,以便继续循环.这样,过程状态不会丢失,计算可以通过任何更新继续进行. http://mpi4py.scipy.org/docs/usrman/index.html

这个wiki有一些建议,但有没有人对最发达的解决方案有一个方向:http: //wiki.python.org/moin/ParallelProcessing

谢谢 !

mapreduce mpi disco

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

标签 统计

disco ×5

mapreduce ×3

python ×3

asmx ×1

c# ×1

celery ×1

mpi ×1

web-services ×1

wsdl ×1