小编ilo*_*cp3的帖子

如何在Python中进行并行编程

对于C++,我们可以使用OpenMP进行并行编程; 但是,OpenMP不适用于Python.如果我想并行我的python程序的某些部分,我该怎么办?

代码的结构可以被认为是:

 solve1(A)
 solve2(B)
Run Code Online (Sandbox Code Playgroud)

哪里solve1solve2是两个独立的功能.如何并行运行这种代码而不是按顺序运行以减少运行时间?希望可以有人帮帮我.首先十分感谢.代码是:

def solve(Q, G, n):
    i = 0
    tol = 10 ** -4

    while i < 1000:
        inneropt, partition, x = setinner(Q, G, n)
        outeropt = setouter(Q, G, n)

        if (outeropt - inneropt) / (1 + abs(outeropt) + abs(inneropt)) < tol:
            break

        node1 = partition[0]
        node2 = partition[1]

        G = updateGraph(G, node1, node2)

        if i == 999:
            print "Maximum iteration reaches"
    print inneropt
Run Code Online (Sandbox Code Playgroud)

setinner和setouter是两个独立的函数.这就是我要平行的地方......

python parallel-processing

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

Python如何在numpy中组合两个矩阵

Python的新手,在numpy中挣扎,希望有人可以帮助我,谢谢!

from numpy  import *   
A = matrix('1.0 2.0; 3.0 4.0')    
B = matrix('5.0 6.0')
C = matrix('1.0 2.0; 3.0 4.0; 5.0 6.0')
print "A=",A
print "B=",B
print "C=",C
Run Code Online (Sandbox Code Playgroud)

结果:

A= [[ 1.  2.]
   [ 3.  4.]]
B= [[ 5.  6.]]
C= [[ 1.  2.]
   [ 3.  4.]
   [ 5.  6.]]
Run Code Online (Sandbox Code Playgroud)

问题:如何使用A和B生成C,就像在matlab中一样C=[A;B]

python numpy matrix

24
推荐指数
2
解决办法
6万
查看次数

安装没有root访问权限的python包

我想在我使用的服务器上安装python包networkx,并且在我问这个问题之前我会进行搜索,它说要使用

pip install --user networkx
Run Code Online (Sandbox Code Playgroud)

但它不起作用,linux错误是

Usage: /usr/bin/pip install [OPTIONS] PACKAGE_NAMES...

/usr/bin/pip install: error: no such option: --user
Run Code Online (Sandbox Code Playgroud)

谁有人可以帮忙?如何在服务器中安装networkx软件包?

python pip

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

如何在python中使用多处理

我是python的新手,我想在下面的代码中进行并行编程,并希望在python中使用多处理来完成它.那么如何修改代码呢?我一直在使用Pool搜索方法,但发现了我可以遵循的有限示例.有人可以帮帮我吗?谢谢.

请注意,setinner和setouter是两个独立的函数,我想使用并行编程来减少运行时间.

def solve(Q,G,n):
    i = 0
    tol = 10**-4

    while i < 1000:

        inneropt,partition,x = setinner(Q,G,n)
        outeropt = setouter(Q,G,n)

        if (outeropt - inneropt)/(1 + abs(outeropt) + abs(inneropt)) < tol:
            break

        node1 = partition[0]
        node2 = partition[1]

        G = updateGraph(G,node1,node2)
        if i == 999:
            print "Maximum iteration reaches"
    print inneropt
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

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

Cplex Python如何避免打印输出

设置目标函数和约束后,我使用

prob.solve()
print prob.solution.get_objective_value()
Run Code Online (Sandbox Code Playgroud)

实际上,我只想打印目标值,然而,它显示了很多cplex的信息,

Tried aggregator 1 time.
LP Presolve eliminated 5 rows and 1 columns.
All rows and columns eliminated.
Presolve time = -0.00 sec. (0.00 ticks)
0.5
Run Code Online (Sandbox Code Playgroud)

我只想显示最后一行0.5,如何避免Cplex打印其他信息?先感谢您.

python logging mathematical-optimization linear-programming cplex

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

阵列在朱莉娅中元组

朱莉娅的新手,很困惑.

这是一个数组:

array=["a","b",1]
Run Code Online (Sandbox Code Playgroud)

我定义了一本字典

dict=Dict()
dict["a","b"]=1
Run Code Online (Sandbox Code Playgroud)

我想用'array'来定义dict

dict2 = Dict()
dict2[array[1:2]]=1
Run Code Online (Sandbox Code Playgroud)

但他们不一样,

julia> dict
Dict{Any,Any} with 1 entry:
  ("a","b") => 1

julia> dict2
Dict{Any,Any} with 1 entry:
  Any["a","b"] => 1
Run Code Online (Sandbox Code Playgroud)

如何使用'array'生成'dict'而不是'dict2'?谢谢

dictionary tuples julia

4
推荐指数
2
解决办法
2010
查看次数