みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Git LFS でバイナリファイルをローカルで管理する

Git

Git でバージョン管理しているプロジェクトにおいて,大きなバイナリファイルを一緒に扱おうとすると,GitHub のファイルサイズの 100 MB 制限でエラーが発生したり*1,バイナリファイルを更新する度にレポジトリが肥大化していって処理に時間がかかるように…

Git が保存する仕組み

Git

Git の内部がどうなっているのか気になったのですが,深く理解しなくても使えるツールなので,ざっくりとまとめます. Git の要点 Git は key-value 型データストアでデータを管理している. Git オブジェクトには,blob, tree, commit, tag の4種類が存在す…

JavaScriptでJSON SchemaとMeta-schemaを使ってみる

JSON Schema を使えば,自分が欲しい構造の JSON データであるかを簡単に判定できるので,とても便利です. まずは JavaScript で JSON Schema を使ってみます. ajv を使う JSON schema バリデータの実装はたくさんありますが,今回は,Ajv JSON schema val…

numpy で指定したデータだけを合計する

sum() 関数の where で指定します. numpy.sum — NumPy v1.26 Manual import numpy as np a = np.array( [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], ] ) b = np.array( [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], ] ) v = a.sum(where=b.astype(boo…

PyTorch の学習速度をなるべく速くする

PyTorch の学習に時間がかかるとイライラするので,利用可能な計算資源をなるべく効率的に使用するための工夫をまとめました. 以下は インテル Core i5 12400 と GeForce RTX 4080 を搭載したパソコンに Ubuntu をインストールした環境で検証しています. G…

Pydantic で JSON を読み込む時に型変換される

例えば dict[int, int] を JSON で記述しようとすると,キーは文字列にする必要がありますが,Pydantic がうまく型変換してくれるので気にせず使えて便利です. % python --version Python 3.11.6 % pip freeze pydantic==2.5.2 test_pydantic.py import jso…

GitHub Actions でレポジトリを編集する

Git

.github/workflows/run.yaml on: push permissions: contents: write jobs: main: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: | echo "sample." >> text.txt git config user.name github-actions git config user.email github-act…