Helve’s Python memo

Pythonを使った機械学習や最適化の備忘録

Powershellでプロセスのメモリ使用量をロギングする

PowerShellGet-Processコマンドレットを使って、 特定のプロセスのメモリ使用量を一定周期でロギングするコードを作成した。

目次

  • ロギング用スクリプト
  • ファイルの保存(Out-File)
  • 時刻の取得(Get-Date)
  • メモリ使用量の取得(Get-Process)
    • (補足)メモリ使用量の種類
  • 参考
続きを読む

【Python】ネストされたリスト・辞書とdeepcopy

Pythonでネストされたリストや辞書をコピーするとき、一方に加えた変更が他方に反映されないようにしたい場合は、 copyモジュールのdeepcopy()関数を用いる。 deepcopy()関数によって、リスト・辞書の参照先でなく、実体が全てコピーされる。

目次

  • はじめに
  • リスト・辞書をコピーする方法
  • ネストされた配列・辞書のコピー
    • 浅いコピー
    • 深いコピー
  • 参考
続きを読む

C#のstring型で文字列を扱う

C#ではstring型を使って文字列を扱うことができる。 本記事ではstringオブジェクトのプロパティとメソッド、および文字列と数値の変換についてまとめた。

目次

  • はじめに
  • string型の基本
  • 文字列の宣言
  • string型のプロパティとメソッド
    • 文字列の比較(CompareTo)
    • 文字列の削除(Remove)
  • 文字列の結合
  • 文字列と数値の変換
  • 参考
続きを読む

PyomoとCouenneで非凸の混合整数非線形計画問題(MINLP)を解く

PyomoというPythonライブラリと、Couenneという最適化ソルバを使って非凸の混合整数非線形計画問題 (MINLP) を解く方法をまとめた。

目次

  • はじめに
  • Couenneの基本
  • Coueeneの導入
  • 非凸MINLPの例題
  • Pyomoのソースコード
  • 参考文献
続きを読む

Powershellでファイル名に連番を振ってリネームする

Poweshellを使って、フォルダ内のファイルに連番を振ってリネームする方法をまとめた。 現在のファイル名の順に連番を振る場合、以下を実行する(拡張子は適宜変更のこと)。

ls | sort Name | 
% {$i = 1} { $NewName = "{0:000}.txt" -f $i; mv $_.Name $NewName; $i++ }

もしくは以下を実行しても同じ結果になる。

ls | sort Name | % {$i = 1} {mv $_.Name ("{0:000}.txt" -f $i++)}

後者のコードは少し複雑なため、本記事では前者を解説する。

目次

  • 実行手順
  • 解説
    • エイリアス(別名)
    • パイプライン
    • 変数
    • ForEach-Objectによるループ処理
    • 数値→文字列変換のフォーマット
    • ファイルの名前を変更する
  • まとめ
  • 参考
続きを読む