scikit-learnパッケージに次の行が見つかりました。
if is_sparse:
problem = csr_set_problem(
(<np.ndarray[np.float64_t, ndim=1, mode='c']>X.data).data,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indices).shape,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indices).data,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indptr).shape,
(<np.ndarray[np.int32_t, ndim=1, mode='c']>X.indptr).data,
Y.data, (<np.int32_t>X.shape[1]), bias,
sample_weight.data)
else:
...
「Pythonの山かっこ」を検索すると、ドキュメントやデコレータ構文に関する回答が得られますが、実際のロジックのように見えるため、どちらでもないことは間違いありません。
上記のPythonコードの山かっこは何をしますか?どこでそれらについてもっと学ぶことができますか?
これは、型キャスト/強制のためのCythonの構文です。プレーンなPythonではありません。ファイル拡張子が.pyx
Cythonのドキュメントでそれらの詳細を学ぶことができます。
これは、ドキュメントページから抜粋した例です。
cdef char *p, float *q
p = <char*>q
Cythonを使用することは、のようなプロジェクトでは珍しいことではありません。このプロジェクトではscikit-learn
、読み取り可能なPythonと超高速のCを組み合わせることで、大幅な最適化が得られます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加