サブロウ丸

Sabrou-mal サブロウ丸

主にプログラミングと数学

python

Python: 依存関係のあるオブジェクト集合の複製

導入 手法 愚直にやるなら... pickleによる複製作成 まとめ 導入 下図のような依存関係のあるDogとCatのオブジェクトがあるとします。Dogのcat属性にはCatクラスのオブジェクトが格納されていて、Catのdog属性にはDogクラスのオブジェクトが格納されていると…

flopt 仕様 v0.5.5: Solverサイド

本稿ではfloptのSolverサイドであるソルバの話をします。 floptでは内部で実装されたアルゴリズムと外部ライブラリのソルバを用いて最適化を実行することができます。 Solver実装のキホン 解の登録 コールバック関数の実行 時間制限の確認 終了ステータス 問…

flopt 仕様 v0.5.5: Systemサイド -- 問題解析とソルバ選択

本稿ではfloptのSystemサイドである問題(Problem)の解析やソルバ選択について記載します。 問題解析とは? 本稿では問題解析をユーザーが定義した問題がどのタイプの最適化問題に属するのかを機械的に判断すること、とします。floptでは柔軟なモデリングによ…

flopt 仕様 v0.5.5: Userサイド -- モデリング

本稿ではfloptにおける柔軟で強力なモデリングを支える基盤である変数と式の設計を紹介します。 変数 (Variable) 式 (Expression) Expression 式の文字列表現とその恩恵 単項式と多項式クラス CustomExpression Sum, Prod 演算のオーバーライド まとめ 関連…

フラクショナルカスケーディング応用

k-th number 方法 fractional cascading 実装 プログラムのまとめ まとめ k-th number 数列a_1, a_2, ..., a_nとクエリを表す数の3つ組みがm個与えられる。各クエリ(i, j, k)に対しa_i, ..., a_jを昇順にソートした際のk番目の数を出力せよ。 n ≤ 1000000 m …

Python 巡回セールスマン問題

記事の更新をしたのでお知らせ。 bit-dpの理論と実装の解説pdfを作成しました。 inarizuuuushi.hatenablog.com

Pytorchでの分散処理にMPI backendを使用する

python.distributedは、Point-to-Point通信や集団通信といった分散処理のAPIを提供しています。これにより、細かな処理をカスタマイズすることが可能です。 通信のbackendとしては、pytorch 1.13時点では、MPI、GLOO、NCCLが選択できます。各backendで利用で…

python, warning デバッグ

pythonでwarningをデバッグする際にpdbのソースコードデバッガでcatchしてくれると、とても便利ですよね。 例えば下記のコードを実行すると import numpy as np x = np.ones((2, 2), dtype=np.float16) x[0, 0] = 1e4 y = x ** 2 $ python tmp.py /Users/tat…

Sourcetrail, pythonエラー

オープンソースなど他人の書いたコードを読むのに Sourcetrail 便利ですよね! (フリーとは思えないクオリティだ) 久々にインストールして使ってみたらエラー起きてました エラー内容 エラーが起きたバージョン: 2021.4.19 Release 2021.4.19 · CoatiSoftware…

pulp: 制約追加の高速化

環境 >>> import pulp >>> pulp.__version__ '2.5.1' 本文 制約を大量に追加する場合 例えば; を追加した場合、下記のコードだと実行時間 28.81 s かかります。(f(i)は実数を返す何かしらの関数) prob = pulp.LpProblem() # 変数の生成 x = [pulp.LpVariable…

torchtext.vocabの Vocab, build_vocab_from_iterator, Vectorsサンプルコード

torchの自然言語処理用のライブラリtorchtextのvocabモジュールのそれぞれのクラスのサンプルコード 紹介している内容 torchtext.vocab.vocab torchtext.vocab.build_vocab_from_iterator torchtext.vocab.GloVe torchtext.vocab.FastText torchtext.vocab.C…

pulp エラー集

pulp solvers.PulpSolverError pulp.solvers.PulpSolverError: Pulp: Error while executing /usr/local/lib/python3.6/site-packages/pulp/solverdir/cbc/osx/64/cbc このエラーが起きた時は, ソルバー自体の問題ではなく、宣言した変数名LpVariable(name='…