ステータス: 未リリース(準備中)。安定版の PyPI 配布は近日公開予定です。テスト配布(TestPyPI)は利用可能です。
Fortran 製の高速な機械学習カーネルと、Python から扱うための軽量バインディングを提供します。
主なアルゴリズム:
- KMeans(k‑means++ 初期化、チャンク距離計算、OpenBLAS を用いた高速化)
対応プラットフォーム(現状):
- Python 3.9–3.12
- Linux x86_64(manylinux wheel。同梱 OpenBLAS)
- macOS / Windows については順次対応予定(当面はソースビルド)
安定版(準備中):
pip install flearner備考: 現在は未リリースのため、上記コマンドはまだ有効ではありません。以下の TestPyPI をご利用ください。
TestPyPI(テスト配布):
pip install -i https://test.pypi.org/simple flearner==0.1.0 --extra-index-url https://pypi.org/simpleソースから(共有ライブラリのビルドが必要):
make lib # flearner/lib/libfortlearner.* を生成
pip install -e . # 開発モードでインストール失敗時のヒント(Linux):
sudo apt-get install -y libopenblas-dev gfortran # Ubuntu/Debian
sudo dnf install -y openblas-devel gcc-gfortran # Fedora/RHELimport numpy as np
from flearner.FortKMeans import FortKMeans
X = np.asfortranarray([[0.0, 0.0], [1.0, 1.1], [10.0, -1.0]], dtype=np.float64)
km = FortKMeans(n_clusters=2, random_state=0)
km.fit(X)
labels = km.predict(X)
score = km.score(X)
km.dump("model.bin")
km.close()
km2 = FortKMeans.load("model.bin")
print(km2.predict(X))
km2.close()詳細は docs/python/model_persistence.md も参照してください。
- PyPI(wheel/sdist)
- manylinux wheel には OpenBLAS を同梱(静的/同梱リンク)し、
pip install直後に動作する形を提供します。 - macOS/Windows も将来的に wheel 対応予定です(当面はソースビルド)。
- manylinux wheel には OpenBLAS を同梱(静的/同梱リンク)し、
- GitHub(ソース公開)
- リポジトリ自体はソース中心で、生成済みバイナリはコミットしません。
- リリース時は CI によりビルドした wheel/sdist を GitHub Releases のアセットとして提供します。
make lib # 共有ライブラリをビルド
pytest -q -m "not integration" # ユニット(FakeLib ベース)
pytest -q -m integration # 結合(共有ライブラリ必須、無ければ skip)
make allrun # Fortranテスト→lib→Pythonテスト→デモ(lib未ロードならデモはskip)バグ報告・提案は Issues にて歓迎します。変更提案や機能追加は、まず Issue で相談してください(合意形成を優先します)。開発の流れや規約は CONTRIBUTING.md を参照してください。
- 本体: MIT License(
LICENSE) - 同梱ライブラリ: OpenBLAS(BSD 3‑Clause)ほか
- 詳細は
THIRD_PARTY_NOTICES.mdとflearner/licenses/*を参照
- 詳細は
- 現状の wheel は Linux x86_64 のみ。同梱 OpenBLAS 前提です。
- macOS/Windows はソースからのビルドが必要(OpenBLAS と Fortran コンパイラを用意)。
Short English overview (for PyPI visitors):
FortLearner provides high‑performance machine learning kernels written in Fortran with thin Python bindings. Linux wheels bundle OpenBLAS so you can use it right after pip install. macOS/Windows support is planned; for now, build from source.