今回は、Python の計算を高速化する簡単な方法である numba ライブラリを使用する方法について説明します。numba ライブラリは、JIT テクノロジを使用してオンザフライでコンパイルでき、高いパフォーマンスを実現します。 cuda GPU のパワーも利用できます Acceleration は Python を高速化するための非常に優れたツール ライブラリです 使い方は簡単ですが、インストールは少し複雑です。
#numba はインストール完了後に使用できるようになります。 (推奨される学習: Python ビデオ チュートリアル )
公式 Web サイトから最も古典的な例を借用して、アクセラレーション プログラムとプレアクセラレーション プログラムの違いを確認するための小さなケースを以下に書きます。
#!/usr/bin/env python # coding=utf-8 from numba import jit from numpy import arange import time @jit def sum2d(arr): M, N = arr.shape result = 0.0 for i in range(M): for j in range(N): result += arr[i,j] return result a = arange(9).reshape(3,3) start_time = time.time() for i in range(10000000): sum2d(a) end_time = time.time() print (end_time - start_time)
ここでは、numpy を使用して 3 行 3 列の行列 [[0,1,2],[3,4,5],[6,7,8]] を生成します。そして 2 次元の累積計算を実行すると、値は明らかに 36 になるはずです。ここではそのような計算を 10000000 回実行しました。@jit アノテーションを使用すると、numba jit テクノロジーを直接使用してリアルタイムでコンパイルできるため、速度が向上します。実行時間は約3.86秒 アノテーションを外した場合の実行時間は約25.45秒 ここから約6.6倍の性能向上があることが分かりますので、確かにnumbaを使って高速化するのは便利で簡単です
Python 関連の技術記事の詳細については、Python チュートリアル 列を参照してください。
以上がPython プログラムを高速化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。