python
スタックトレースとは、実行していた関数やメソッドなどの履歴のことです。バグやエラーが発生した際にスタックトレースを表示させることでデバッグを行いやすくします。 Python tmp.py f = lambda: g() g = lambda: h() h = lambda: i() def i(): return 2/…
Read the Docsでは現在(2022年10月)ではPython3.7を用いてドキュメントのコンパイルが行われており、プロジェクトがPython3.7に対応していない場合はコンパイル時にエラーが生じて内容がうまく表示されない場合があります。(例えばPython3.8 以上で導入され…
これから数回にわたってfloptという私が開発している最適化モデリングツールの構成について紹介したいと思います。具体的な使い方というよりは、その仕様について記録を残すのがメインです。 具体的な使用方法やチュートリアルはこちら。 本稿ではfloptの構…
I show the RangeMinimumQuery, RangeMaximumQuery and BitIndexTree python class implementations. RangeMinimumQuery and RangeMaximumQuery are data structures for faster obtaining the minimum and maximum value of sub sequential array. BitIndex…
今更感ありますが、、二分木構造に関するDFSで、1. 行きがけ、2. 帰りがけ, 3. 全記録、のPythonコードを紹介します。本稿では下記の木を例に使用します。 幅優先探索(BFS)はオレンジ色の順番のように、深さが浅いノードを優先して探索を行います。 ここで…
本稿ではC++コードを含むPythonパッケージの作成方法を紹介します。処理が重い部分をC++でコーディングすることで、パッケージが提供する関数の実行速度を向上させることができます。 pybind11を用いれば意外と(?)簡単に作成することができて素晴らしい。…
https://pytorch.org/docs/stable/notes/ddp.html#internal-design の日本語訳 + おまけの脚注 pytorch はv1.12 Internal Design ここでは、torch.nn.parallel.DistributedDataParallelがどのように動作しているかを、1つの反復処理の各ステップの詳細に踏み…
本稿ではDistributedDataParallelのサンプルコードを示し、また実行中にどのような通信が行われているかを確認します。 参考: Getting Started with Distributed Data Parallel — PyTorch Tutorials 1.13.0+cu117 documentation pytorch DistributedDataPara…
本稿ではpyenv, virtualenvを用いたpythonの仮想環境の構築方法とその操作方法をまとめます。 pyenv install pyenv操作 pyenv-virtualenv install virtualenv操作 インストール時のエラー & Warning 参考 pyenv pythonの複数バージョンのインストールや、そ…
>>> import torch Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/tateiwa/.pyenv/versions/3.10.5/lib/python3.10/site-packages/torch/__init__.py", line 202, in <module> from torch._C import * # noqa: F403 ImportError: /home/tatei</module></module></stdin>…
二分木構造に関するDFSで、1. 行きがけ、2. 帰りがけ、 3. 通りがけ、 4. 全記録、のPythonコードを紹介します。本稿では下記の木を例に使用します。 深さ優先探索(DFS)はご存知のようにオレンジ色の順番のように、深く(子孫側に)進む方向を優先して二分…
本稿ではクラスタコンピュータでMPIを用いてPythonを並列実行するまでの手順を紹介します。 1ノードでの実行の場合 クラスタでの実行の場合 sshログインの整備 python環境の整備 実行コマンド おまけ open-mpiのオプションについて mpi4pyのインストールに失…
幅優先探索の亜種ですね。 アルゴリズムの流れは下記です。 rootノードのみからなるpath、を持つpathsリストを生成(paths = [ [root] ]) paths内の全てのpathを1階層分だけ展開しpathsを更新 スコアが最も高いk個のpathのみをpathsに残す 2に戻る 補足: ht…
Qiitaに記事を投稿しました。 Dev Community Medium 本稿では、最適化モデリングツールfloptの基本的な使い方やいくつかの機能の具体例を紹介します。(私も開発者の一人です) 最適化モデリングツールとは、ユーザーが解きたい問題を表現、具現化する作業をサ…
田中コーパス python, pytorchによるサンプルコード pytorchでの使用を前提にして、 torchtext.vocab.Vocab (vocabulary)の作成 DatasetとDataLoaderの作成例 を紹介しています。
kfttについて python, pytorchでの使用例 pytorchでの使用を前提にして、 torchtext.vocab.Vocab (vocabulary)の作成 DatasetとDataLoaderの作成例 を紹介しています。
seaborn.regplotのサンプルコード(https://seaborn.pydata.org/generated/seaborn.regplot.html) import seaborn as sns; sns.set_theme(color_codes=True) tips = sns.load_dataset("tips") ax = sns.regplot( x="total_bill", y="tip", data=tips, ) ここ…
gurobipy とは GUROBI optimizerが提供するpythonインターフェイスです. pip で installできます. gurobipyをクラス内で用いるときの注意点; 下記のプログラムは2変数(x, y)からなる簡単な最適化問題を求解するもの. solve()関数で問題の定式化と求解を行な…
networkit と networkxのクラスタ係数算出関数の比較 networkx ... networkx.algorithms.cluster.average_clustering — NetworkX 2.6.2 documentation netwokit ... networkit.globals Package Version ----------------------------- ----------- networkit…
Cythonのコンパイルエラー デフォルトのgccのバージョンが古い可能性があります. 1. gccのバージョンを変える $ls /usr/local/bin/ や $ls /usr/bin/ でインストールされているgccのバージョンを調べて, 新しそうなやつを $export CC=gccXX で指定してから実…
"軸メモリの左肩のまとまり"とはなんのこっちゃですが, 図を見てくだい. コレです. 本記事ではこの"軸メモリの左肩のまとまり"を無くす方法を紹介します. で, これの正式名称がわからないので検索も困ったものですが, "Offset"という名称でした. これをoffに…
平均クラスタ係数とは 枝集合の単調増加 実装 保持情報 枝増加時の更新 テスト コード 出力 まとめ 参考 平均クラスタ係数とは グラフ構造の特徴づけ指標の一つです. ノードごとに, そのノードを含む三角形(クリーク)の割合を算出します. 具体的には グラフ,…
最終的に描写するもの 暫定解値と, 下限値の時間推移 最適値 CBCログ 問題サイズなど Welcome to the CBC MILP Solver Version: 2.10.3 Build Date: Dec 15 2019 command line - xxxx At line 2 NAME MODEL At line 3 ROWS At line 2426 COLUMNS At line 145…
pulpにおける動的な制約の削除, 入れ替えのサンプルコード gist.github.com
Qiitaに記事を投稿しました qiita.com
colorlog ( https://github.com/borntyping/python-colorlog ) を用いれば ロギング(logging) を色付きで簡単に表示できます. 若干使い方が難しいと思いますので, サンプルコードを作成しました. 下記を _logginig.pyの名前で保存して, 同ディレクトリ内で以…
Pythonでプロセス並列処理を効率的に行うためのツールとして、multiprocessing.Poolは非常に便利です。しかし、下記のような状況では並列化により逆に処理速度が低下することがあります。 data = xxx # 非常に大きなオブジェクト (巨大なリストなど) def fun…
Solver (May 22, 2020) [S] Solver (問題を解くアルゴリズムを内包し, それを実行して解を探索するアプリケーション) [M] Modeler (解く問題をプログラムで作成するためのアプリケーション) Nonlinear or Linear Programming NLP (Nonlinear Programming) MI…
バージョン pulp: 2.2 python: 3.8.4 サンプルコード スレッド数 = 5, 時間制約 30s にする場合 problem = ... solver = pulp.GUROBI_CMD( options=[ ('Threads', 5), ('TimeLimit', 30) ] ) problem.solve(solver=solver) 他に入れられるオプション www.gur…
Pythonで使線形計画問題(LP)を扱える最適化アプリケーションをいくつか使用することができます. アプリケーションは大きく2種類に分類されます. Solver (ソルバー); 問題を解くアルゴリズムを内包したアプリケーション Modeler (モデラー); 最適化問題をプロ…