Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでのベクトル化


この記事では、Python3.xを使用した実装に関連するベクトル化とさまざまな手法について学習します。またはそれ以前。

ベクトル化とは何ですか?

ベクトル化は、ループを使用せずに配列を実装する手法です。代わりに関数を使用すると、コードの実行時間と実行時間を効率的に最小化するのに役立ちます。さまざまな演算が、ベクトルの内積などの配列ではなく、ベクトルに対して実行されています。これは、単一の出力を生成するため、スカラー積とも呼ばれます。外部積は、ベクトルの(長さXの長さ)に等しい次元の二乗行列になります。要素同じインデックスの要素と行列の次元を積む賢明な乗算は変更されません。

内積/内積

Pythonでのベクトル化

実装を見てみましょう

import time
import numpy
import array
p = array.array('q')
for i in range(100000,200000):
   p.append(i);
q = array.array('q')
for i in range(200000, 300000):
   q.append(i)
# classic dot product
tic = time.process_time()
dot_value = 0.0;
for i in range(len(a)):
   dot_value += p[i] * q[i]
toc = time.process_time()
print("dot_product of vector arrays = "+ str(dot_value));
print("Computation time taken = " + str(1000*(toc - tic )) + "ms")
n_tic = time.process_time()
n_dot_product = numpy.dot(a, b)
n_toc = time.process_time()
print("\nn_dot_product of vector arrays = "+str(n_dot_product))
print("Computation time taken= "+str(1000*(n_toc - n_tic))+"ms")

出力

dot_product of vector arrays = 3833313333350000.0
Computation time taken = 116.51723400000068ms
n_dot_product of vector arrays = 3833313333350000
Computation time taken= 2.5412239999997865ms

それでは、上記で使用した関数について詳しく説明しましょう

outer(a、b) −この関数は、入力変数として2つのnumpy配列を取り、2つのベクトルの外積を返します。

multiply(a、b) −この関数は、2つのnumpy配列を入力変数として受け取り、2つの配列の行列積を返します。

dot(a、b) −この関数は、2つのnumpy配列を入力変数として受け取り、2つの配列の内積を返します。

zeros((n、m)) −この関数は、入力変数として形状と型を取り、ゼロで初期化された、指定された形状と型の行列を返します。

process_time() −この関数は、現在のプロセスのシステム時間とユーザーCPU時間の合計の値(秒単位)を返します。睡眠中の経過時間は含まれていません

結論

この記事では、Pythonでのベクトル化について学びました。


  1. ラップタイマーを作成するPythonプログラム

    Pythonを使用してラップタイマーを作成する必要がある場合は、「time」メソッドが使用されます。ラップタイマーを開始するために、ラップ数が事前定義され、trycatchブロックが定義されています。 以下は同じのデモンストレーションです- 例 import time start_time=time.time() end_time=start_time lap_num=1 print("Click on ENTER to count laps.\nPress CTRL+C to stop") try:    while True:  

  2. Pythonで時系列をプロットする方法は?

    matplotlibを使用してPythonで時系列をプロットするには、次の手順を実行できます- numpyを使用してxポイントとyポイントを作成します。 plot()を使用して、作成されたxポイントとyポイントをプロットします。 メソッド。 図を表示するには、 show()を使用します メソッド。 例 import matplotlib.pyplot as plt import datetime import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams[