cython

    0

    1答えて

    cythonでセルをコンパイルすると、Jupyterは次のセルでコンパイルされた関数を忘れてしまったようです。これは私にとって正しいことではないようです。何がうまくいかないのですか? セル1: %load_ext Cython セル2: 私はノートブックのバージョン5.0.0を使用しています 、ここで Python 3.6.1 |Anaconda custom (x86_64)| (defau

    0

    1答えて

    私はCythonコード内のすべてのPython呼び出しを純粋なCに変換して、GILを解放して並列化を行えるようにしようとしています。私はので、ループ内でGILを解放する必要が cdef double[:,:,:] init=np.random.uniform((10,4,2),dtype=np.float32) cdef int i cdef int N=init.shape[0] for

    0

    1答えて

    私はいくつかのODEを数値的に統合しています。 y'(t) = f(y(t), t) これは、例えばscipyのintegrate.odeを使用して簡単に実行できます。機能fは、例えば、標準のPythonを使用して定義されます。 def f(y, t, k): return -k*y**3 私の理解では、これがintegrate.odeで使用されるFORTRAN/Cの実装は、Py

    4

    1答えて

    私はcythonの整数操作で奇妙な問題に遭遇しています。私は...この #!python from subprocess import check_output CFLAGS = check_output('python-config --cflags'.split()).decode('utf-8').strip() LDFLAGS = check_output('python-conf

    2

    1答えて

    が解決編集#3 を.pxdモジュールを見つけることができないように構成されています。 Some_Package/ some_package/ __init__.py core/ __init__.py definition.pxd helper/ __init__.py helper.pxd

    0

    2答えて

    スピードを上げているためにはサイレントコードに変更するだけですより多くの速度を得るためにGILを削除してマルチスレッドを行うことができます。私のループのための二重の部分で、私は最終的に成功し、いくつかのpythonでcython VS率10純粋なCを獲得し、再び(PRANGEで)4つのスレッドを使用して、因子3仲間stackoverflowのユーザーの助けを借りて コード。私が最初にvector[

    0

    2答えて

    私はcython関数を作成しようとしています。これは2つのnumpy配列の文字列を繰り返し処理し、そこにあるデータから新しいdictsリストを作成します。 私はcythonからC++を使い、これらのnumpy配列を繰り返して、私が行ったようにマップのベクトルを構築すると思っていました。私は各反復で空のマップを作成する方法を理解できないようです。 私はこのような何かをしたいと思います: def ex

    -1

    1答えて

    これは重複していると確信していますが、実際には答えが見つからなかったのです。 私の主な問題は、私のコードでnumpyブールインデックスを使用していることです。私はそれを最適化しています。私はそれを毎回reslicing避けるように私は、いくつかの計算のためにそれを使用しているため y_ind = ~isnan(y) otheThing = y[t,y_ind[t,:]] 私はotherThi

    1

    1答えて

    が答える前に、この記事をお読みください:Pythonの関数はブーストのPythonを使用してstd::functionに変換され、どのように受け入れられて答えてPass a closure from Cython to C++ は、それがきちんと示されています。 この例では、std::functionを引数としてラップし、入力としてPython関数を使用して呼び出すことができます。しかし、同様のカ

    0

    1答えて

    私が理解している限り、メモリ共有のために、ベクトル[T]を返すC++関数をPythonで公開することはできません限界。 したがって、インポートされた関数を使用し、Python拡張モジュールに適切に公開する2番目の関数を作成する必要があります。 問題:私は同じ関数名を使用できません。拡張モジュールには多くの関数名が付いています。例えば。 、以下のC++関数のインポートを参照してください、そして公開: