どすえのブログ

ソフトウェア開発ブログ

2022-01-01から1年間の記事一覧

Amazon ECSタスクでのGPUの使用

AWS

ECSでGPUを使う機会があったので、やり方をメモする。 2022.09.22時点ではFargateがGPUに未対応だったため、ECSをEC2(GPU)上に展開する方針をとった。 (このIssueを見ると、まもなくFargateがGPUに対応しそう。) ポイントは ECSに最適化されたAMIを使うこと …

PythonでGoogle SpeechToText REST API を呼び出す

Pythonで Google Cloud SpeechToText を使用する場合、SpeechToTextクライアントライブラリを使うのが一般的だと思うが、REST API から呼び出す機会があったのでメモ。 REST API の公式仕様はこちらに載っている。 cloud.google.com 準備として、APIキーの取…

時系列モデリング手法 HiPPO を読み解く(2)

本記事では、時系列モデリング手法HiPPOの理解を目指し、著者実装をstep-by-stepで動かす。 参考にする著者実装はこちら。 github.com なお、HiPPOの理論は第一部の記事にまとめたのでそちらも参照されたい。 dosuex.com 必要モジュールのインポート from fu…

時系列モデリング手法 HiPPO を読み解く(1)

ICLR2022で発表された、新しい時系列モデリング手法としてS4(Structured State Space Sequence model)というものがある。S4は長距離ベンチマークで従来手法を圧倒的性能で破って話題となった。 S4の論文はいくつかの研究の集大成となっており、核となる技術…

Pythonの辞書の欠損キー操作:setdefaultとdefaultdict

Pythonで辞書に存在しないキーで操作する際は、get()、setdefault()、defaultdict()などのメソッドを用いると良い。 get()による欠損キーへのアクセスは以下を参照。 Python辞書に存在しないキーでの代入 - どすえのブログ setdefault()とdefaultdict()はよ…

確率の期待値から掴むルベーグ積分

論文を読んでいると測度とルベーグ積分というものに出会った。これを機に、入門してみることにした。個人的には、馴染み深い「確率の期待値」を測度・ルベーグ積分の視点から捉え直すと、理解がスムーズだった。 個人的な理解をメモとして残す。 本記事の結…

PyTorchのTensorの生成と要素アクセス

PyTorchのテンソルtorch.Tensorは単一データ型の要素のみを含む多次元テンソルである。 本記事におけるPyTorchのバージョンは1.10.0である。 import numpy as np import torch print(torch.__version__) # 1.10.0 torch.Tensor — PyTorch 1.10 documentation…

Python辞書に存在しないキーでの代入

辞書に存在しないキーで操作するときのベストプラクティスをメモ。getを使う方法3が一番簡潔。 辞書で個数をカウントするようなケースを考える。 counters = { "A": 1, "B": 0, } 新規のキーに対してカウントを増やすには、まずキーがあるかどうか調べ、なけ…

複数docker-compose間での通信

Dockerを用いた開発において、複数のサービスについて各々docker-compose.ymlを作成するケースがある。マイクロサービスの枠組みではこれらのサービス間での通信が必要であるが、ローカル環境において通信に手間取ったのでメモ。 状況 ローカルにて、別々のd…

Python 正規表現の抽出部分で置き換える

正規表現を使ってタグを除去したいときありませんか。 具体的には、これを (地名: 東京都)と(地名: 埼玉県)は隣接しています。 こうしたい。 東京都と埼玉県は隣接しています。 正規表現でタグの中身を抽出して、再度タグを正規表現で捕捉し、抽出内容で置き…