コンテンツにスキップ

Timeline

pixiを触ってみた

#Python #CUDA

この記事では、conda上に構築された高速なパッケージマネージャー「pixi」を試してみました。Pythonプロジェクトでの環境管理や依存関係の解決方法を具体的に解説し、CUDA環境でのサンプル実行時の設定や注意点についても述べています。複数の言語やOSに対応したpixiの利便性と実装上の課題を詳しく紹介します。

Updated at: 2024/11/02 17:30

yqを使ってyamlの配列の値でforループを回す

#yq #yaml

この記事では、`yq`を使用してYAMLファイル内の配列の値でforループを回す方法を紹介します。具体的なYAMLファイルの例と、`yq`コマンドを使ったforループの実行方法を解説しています。これにより、YAMLファイルの配列要素に対して効率的に処理を行う方法を示しています。

Updated at: 2024/11/02 17:22

typosを使ってtypoを見つける

#typo #spellcheck

この記事では、スペルミスを検出・修正するツールである`typos`の使用方法を紹介します。`typos`のインストール手順と、カレントディレクトリ内のファイルを検査する基本的な使い方を解説しています。さらに、`--write-changes`オプションを使用してスペルミスを自動修正する方法についても説明しています。

Updated at: 2024/11/02 17:20

uvを使ったtorchの依存管理

#torch #Python #uv #pip

この記事では、非常に高速なPythonパッケージインストーラー兼リゾルバーである`uv`を使用してtorchの依存管理を行う方法を紹介します。`uv`の特徴や利点を解説し、torchとtorchvisionのインストール時に必要な工夫について具体的な手順を示しています。特に、`uv`の現時点での制約とその対策について詳述しています。

Updated at: 2024/11/02 17:20

torchの実行環境をレポートする

#torch #Python

問題が起きた時やベンチマークの計測などをする際にPyTorchの実行環境を出力する方法を紹介します。

Updated at: 2024/11/02 17:19

tfupdateを使ってterraformのバージョンを一括で更新する

#Terraform #IaC #DevOps

tfupdateを使ってterraformのバージョンを一括で更新する。tfupdateはcore, provider, moduleのバージョンを更新するツール。ディレクトリを再帰的に探索し、まとめて更新できる。

Updated at: 2024/11/02 17:18

textlintを使ってみた

#textlint #document #Markdown

textlintを使ってみた。textlintは日本語の文章の文法的におかしなところを指摘してくれるツール。プラグインのprhを使えば表記ゆれの統一もできる。

Updated at: 2024/11/02 17:18

Terraform Random Providerを使ってみた

#Terraform #IaC

この記事では、TerraformのRandom Providerを使用してランダムな値を生成する方法を紹介します。`keepers`を利用してリソースの再作成を行う具体的な手順を解説しています。実際のコード例を通じて、ランダムな値の生成とリソース管理の方法を示しています。

Updated at: 2024/11/02 17:17

Terraformで特定のリソースごとにコマンドを実行する

#Terraform #IaC

この記事では、Terraformで特定のリソースごとにコマンドを実行する方法を紹介します。`terraform state show`、`terraform plan`、`terraform apply`、`terraform destroy`コマンドを使用して、特定のモジュールやリソースに対して操作を行う具体的な手順を解説しています。実際のコマンド例を通じて、効率的なリソース管理方法を示しています。

Updated at: 2024/11/02 17:16

Terraform localsでkey, value値を定義する

#Terraform

この記事では、Terraformで`locals`ブロックを使用してkey-valueペアを定義する方法を紹介します。Pythonの辞書型のようなデータ構造を利用し、リソース作成時に参照する具体的な手順を解説しています。実際のコード例を通じて、効率的なデータ管理方法を示しています。

Updated at: 2024/11/02 17:15

Terraform で Git コミットの SHA を取得する

#Terraform #Git

この記事では、TerraformでGitのコミットSHAを取得してリソースに設定する方法を紹介します。`external`データソースを使用して`git log`コマンドの結果をTerraformの変数に取り込み、S3バケット名にSHAを組み込む具体例を解説しています。

Updated at: 2024/11/02 17:14

Terraform Dynamic Blockで動的にリソースを設定する

#Terraform #IaC

この記事では、TerraformのDynamic Blockを使用してリソースの設定を動的に行う方法を紹介します。繰り返しや条件分岐を活用して、設定をDRYに記述する具体的な手法を解説しています。実際の設定例を通じて、Dynamic Blockの効果的な活用方法を示しています。

Updated at: 2024/11/02 17:13

slackで質問テンプレートを作って解決までの時間を短縮する

#slack #idea #マネジメント #チーム

この記事では、Slackで質問テンプレートを作成してチームの解決までの時間を短縮する方法を紹介します。GitHubのIssueテンプレートを参考に、SlackのWorkflow Builderを活用して効果的な質問フォームを構築する具体的な手順を解説しています。これにより、コンテキストの共有が容易になり、コミュニケーションのラリーを減らすことが可能になります。

Updated at: 2024/11/02 17:12

公開求人を効率良く探す

#Job #recruitment #idea

この記事では、Googleの`site:`検索を活用してHRMOS、Talentio、Herpなど特定の求人サイトに限定し、効率的に公開求人を探す方法を紹介します。具体的な検索例を示し、海外の求人サイトを対象とする際のURL指定方法についても解説しています。また、`site:`指定をしていない求人情報の検索方法や自社サイトの求人情報探索についての注意点も述べています。

Updated at: 2024/11/02 14:20

ScaleneでPythonのプロファイリングを行う

#Python #Scalene #profiling #GPU #MLOps #ML

この記事では、Pythonの高性能なCPU、GPU、およびメモリプロファイリングツールであるScaleneの使用方法を紹介します。Scaleneの特徴や利点を解説し、インストール手順から実際のプロファイリングの実行方法まで具体的に説明しています。また、CLIやWebベースのGUIを活用した詳細なプロファイリングオプションについても詳述しています。

Updated at: 2024/11/02 14:19

[PyYAML] 参照による抽象化をやめる

#Python

この記事では、PyYAMLを使用してYAMLを出力する際に、同一データの参照による抽象化を防ぐ方法を紹介します。具体的には、Dumperクラスを継承して`ignore_aliases`メソッドをオーバーライドする手法や、lambda関数を用いる方法について解説しています。これにより、重複データをそのまま出力し、参照の抽象化を避けることができます。

Updated at: 2024/11/02 14:17

Python whl Metadataを取得する

#Python #whl

この記事では、PythonのWheelファイルからメタデータを取得する方法として、`importlib_metadata`パッケージの使用方法を紹介します。`importlib_metadata`のインストール手順と、特定のパッケージの`requires`依存関係を取得する具体的な方法を解説しています。さらに、実際のコード例を通じて、`ipython`などのパッケージの依存関係を取得する方法を示しています。

Updated at: 2024/11/02 14:16

PythonでULIDを使う

#Python #ULID #pydantic

この記事では、Pythonで一意なIDを生成するためのULIDの使用方法を紹介します。ULIDの特徴を解説し、`python-ulid`パッケージのインストール方法と基本的な使用例を具体的に示しています。さらに、文字列や時間からULIDを生成する方法についても詳述しています。

Updated at: 2024/11/02 14:14

[Python]compileallのメモ

#Python #pex

この記事では、Pythonの`compileall`モジュールの概要と使用方法を解説します。`compileall`を利用して指定ディレクトリ内のPythonソースファイルをコンパイルし、`__pycache__`ディレクトリにバイトコードファイルを生成する具体的な手順を紹介しています。さらに、`pex`や`maelstrom`といったツールでの実際の利用例を通じて、`compileall`の有用性と応用方法についても詳述しています。

Updated at: 2024/11/02 14:13

Python strでMarkdownを記述する

#Python #Markdown

この記事では、Pythonの文字列内でMarkdownを記述する際のインデントずれ問題を解決する方法を紹介します。`cleandoc`などを使用してインデントを調整し、可読性を保ちながら正しく表示されるMarkdownを生成する具体的な手順を解説しています。実際のコード例を通じて、効率的なMarkdown記述方法を示しています。

Updated at: 2024/11/02 14:12

pytest 8系からsetup/teardownの書き方が変わった

#pytest #Python

この記事では、pytest 8系でnoseのサポートが終了し、それに伴い`setup`/`teardown`の書き方が変更された点を解説します。従来の`setup`と`teardown`メソッドを`setup_method`と`teardown_method`に書き換える具体的な方法を紹介しています。これにより、noseを利用していたプロジェクトがpytest 8に対応するための対策方法についても詳述しています。

Updated at: 2024/11/02 14:10

pytest mockで実行ごとに値を変更する

#Python #pytest #Test

この記事では、pytestのmock機能を使用してテスト実行ごとに異なる値を返す方法を紹介します。`side_effect`プロパティを利用することで、モックされた関数が連続して異なる戻り値を返すように設定する具体的な手順を解説しています。実際のコード例を通じて、テストの柔軟性と精度を向上させる方法を示しています。

Updated at: 2024/11/02 14:09

Pydanticを使ってシーケンスを名前でアクセスする

#pydantic #Python

この記事では、Pydanticを用いてシーケンスの要素に名前でアクセスする方法を紹介します。インデックスによるアクセスの曖昧さを解消するために、`AliasPath`を利用してフィールドに名前を割り当てる具体的な手順を解説しています。実際のコード例を通じて、読みやすく明確なモデルの構築方法を示しています。

Updated at: 2024/11/02 14:08

py-spyを使ってPythonのプロファイリングをする

#Python #py-spy #profiling #Debug

この記事では、Pythonのプロファイリングツールであるpy-spyの使い方を紹介します。インストール方法から基本的な使用方法、プロファイリング結果の可視化方法まで具体的に解説しています。実際のプロファイリング例を通じて、コードのパフォーマンス改善に役立てる方法を示しています。

Updated at: 2024/11/02 14:07

Pull Request Templateを作ってレビューのラリーを減らす

#GitHub #Pull Request #Template #Review #チーム開発 #idea

この記事では、Pull Request Templateを作成してコードレビューのラリーを減らす方法を紹介します。コンテキストの共有を促進し、レビュアーの負担を軽減する具体的なテンプレート作成手順を解説しています。また、新メンバーのガイドライン共有や検索性向上についても述べています。

Updated at: 2024/11/02 14:05

Pull Requestを分析してレビュー効率とチームパフォーマンスを可視化する

#GitHub #Pull Request #Code Review #チーム開発 #DevOps #生産性

この記事では、GitHub Actionsのpull-request-analytics-actionを使用して、Pull Requestのレビュー効率とチームパフォーマンスを可視化する方法を紹介します。このアクションはプルリクエスト、コードレビュー、コメントのデータに基づいてレポートを生成し、チームの強みや改善点を特定します。また、具体的な設定方法やレポートのカスタマイズについても詳しく解説しています。

Updated at: 2024/11/02 14:04

Pub/Sub Emulator を使ってみた

#Google Cloud #Pub/Sub #Emulator

この記事では、Pub/Sub Emulatorを使用してローカル環境でPub/Subサービスをエミュレートする方法を紹介します。Google Cloud CLIを活用したインストール手順から起動方法まで、具体的なステップを詳しく解説しています。また、ローカル開発環境での利便性や注意点についても述べています。

Updated at: 2024/11/02 14:03

Pub/Sub Dead Letter Topic

#Pub/Sub #Google Cloud

この記事では、Pub/Subの再試行ポリシーによりリトライ回数を超過したメッセージがDead Letter Topicに移動される仕組みを解説します。Dead Letter Queueに移動されたメッセージが元のメッセージと同じbodyおよび属性を保持していることを検証する方法を具体的に紹介します。設定手順や検証手順を通じて、Dead Letter Queueの動作を詳細に説明しています。

Updated at: 2024/11/02 14:02

PrivateなCloud SQLにBigQueryを接続する

#Google Cloud #CloudSQL #BigQuery

この記事では、BigQueryをプライベートなCloud SQLに接続する具体的な手順を解説します。Cloud SQLのNETWORKING設定でプライベートパスを有効にし、BigQueryの外部接続設定で接続名やデータベース情報を入力する方法を紹介します。また、異なるプロジェクト間での接続が制限されている点についても説明しています。

Updated at: 2024/11/02 14:01

pexでマルチステージビルドを行う

#Python #pex #Docker #Pants

この記事では、pexを使用してマルチステージビルドを行う方法を解説します。ソースコードとサードパーティパッケージを分離することで、キャッシュ効率を向上させ、ビルド時間の短縮を実現します。具体的なディレクトリ構成とPantsを用いたpexの構築手順も詳しく紹介します。

Updated at: 2024/11/02 13:58

Pex内部のGunicornを使ってWebAPIを起動する

#Python #Pex #Pants #Gunicorn #FastAPI

この記事では、Pantsを使用してPex環境内でGunicornを用いてWebAPIを起動する方法を解説します。PexファイルのエントリーポイントをGunicornに設定し、FastAPIアプリケーションを起動する具体的な手順を紹介します。依存関係管理やディレクトリ構成の確認方法など、実装時の注意点についても詳述します。

Updated at: 2024/11/02 13:57

Pants testでdebugする

#pytest #pants

この記事では、Pantsでテストを実行する際にpdbを使用してデバッグする方法を紹介します。テストコード内に`pdb.set_trace()`を挿入することで、pytestと同様にデバッグセッションを開始できます。また、具体的な例と`pants test --debug`コマンドの使用方法についても詳しく解説します。

Updated at: 2024/11/02 13:55

Pantsのテストでカバレッジを取得する

#Python #Pants #Test #Test Coverage

この記事では、Pantsを使用してテストのカバレッジを取得する方法を紹介します。`--use-coverage`オプションや設定ファイルでカバレッジを有効化する手順を具体的に解説します。また、フィルタ機能を活用して対象ファイルを限定し、GitHub ActionsなどのCI環境での実装方法についても詳述します。

Updated at: 2024/11/02 13:54

PantsでTerraformを使う際のsetupとtips

#Terraform #IaC #Pants

この記事では、PantsでTerraformを使用する際のセットアップ方法と便利なヒントを紹介します。リモートモジュール利用時のgit設定や、Pantsがgitバイナリを認識しない場合の対処法を具体的に解説します。さらに、外部データソースでgitを使用する際の注意点についても詳述。

Updated at: 2024/11/02 13:52

Pantsでリモートキャッシュを使う

#Pants #pantsbuild #CI/CD #Bazel

この記事では、Pantsのリモートキャッシュ機能を活用する方法を解説します。bazel-remoteコンテナイメージを使用してS3とGCSにキャッシュを保存する具体的な設定手順を紹介します。さらに、GitHub ActionsなどのCI環境での実装例を通じて、ビルドパフォーマンスの向上方法を詳述

Updated at: 2024/11/02 13:51

PantsでOpenCVを使う

#Python #OpenCV #Pants

この記事では、Pantsを使用してOpenCV(cv2)を取得し、ターゲットとして管理する方法を解説します。`opencv-python`と`opencv-python-headless`の競合問題を解決する具体的な手順を紹介し、`.BUILD`ファイルでの依存関係の適切な設定方法を説明します。また、依存関係の競合を防ぐためのベストプラクティスについても詳述

Updated at: 2024/11/02 13:49

[Pants] 特定のlintのみの実行とスキップ

#Pants #Python

この記事では、Pantsを使用して特定のlintのみを実行したり、スキップする方法を紹介します。`--xxx-skip`オプションを利用して不要なlintを除外する手順や、`--lint-only`オプションで特定のlintだけを実行する方法を具体的に解説します。これにより、効率的にコード品質を管理できるようになります。

Updated at: 2024/11/02 13:48

PantsでHTTPリソースを取得する

#Pants #Python #HTTP

この記事では、Pantsを用いてHTTPリソースを取得し、ターゲットとして管理する方法を解説します。`http_source`ターゲットの設定手順や、`len`および`sha256`の取得方法を具体的に説明します。

Updated at: 2024/11/02 13:47

tagを使ってPantsのターゲットをフィルタする

#Python #Pants

この記事では、Pantsでタグを使用してターゲットをフィルタリングする方法を紹介。`skip-ci`タグを利用して特定のターゲットをCIから除外する手順を具体的に解説。さらに、複数のタグを組み合わせたand条件でフィルタする方法についても解説。

Updated at: 2024/11/02 13:44

Pants TestのCoverage対象のファイルをFilterする

#Pants #Python #Test #Test Coverage

この記事では、Pants Testのカバレッジ対象ファイルをフィルタリングする方法を紹介します。`--coverage-py-filter`オプションを使用して、推移的な依存ファイルを除外し、変更のあったソースファイルのみをカバレッジ対象とする手順を具体的に解説します。また、GitHub Actionsとの連携による環境変数の設定方法についても詳述。

Updated at: 2024/11/02 13:42

Pants Concurrency

#Pants

Pants の並列実行のtips

Updated at: 2024/11/02 13:42

Pants Bootstrapで環境変数を設定する

#Python #Pants

この記事では、Pants Bootstrapを利用してPantsコマンド実行前に環境変数を設定する方法を紹介します。`.pants.bootstrap`スクリプトに必要な環境変数やコマンドを記述することで、Pantsの実行を自動化・効率化できます。具体例として、`GIT_COMMIT`の設定とエクスポート手順を詳しく解説します。

Updated at: 2024/11/02 13:41

packerを使ってVMイメージを作成

#packer #IaC #infrastructure as code #infrastructure #HashiCorp #Google Cloud

この記事では、HashiCorp Packerを使用して効率的にVMイメージを作成する方法を解説します。PackerのインストールからGCEでのDeep Learning VM作成、Terraformとの連携手順を具体的に説明し、GPUドライバやコンテナのセットアップ方法も紹介しています。さらに、Packerで作成したイメージを利用することで、VM起動からコンテナ実行までの時間を大幅に短縮できることを示します。

Updated at: 2024/11/02 13:39

【kubernetes】Numaflowでストリーミング処理を行う

#kubernetes #numaflow #GKE #Google Cloud Platform

この記事では、Kubernetesネイティブなストリーミング処理フレームワークであるNumaflowについて紹介します。YAMLで定義されたパイプラインを使用して、ソース、データ処理、シンクのVertexを連結し、大規模な並列ストリーム処理を実現します。リアルタイムデータ分析やイベント駆動型アプリケーションなど、さまざまな利用シーンで活用できます。

Updated at: 2024/11/02 13:38

MkDocsでOpenAPIドキュメントを表示する

#MkDocs #OpenAPI #Swagger #Redoc #Python

この記事では、MkDocsでOpenAPIドキュメントを表示するための4つのプラグインを紹介します。それぞれのプラグインが提供する表示形式(Swagger UI、Table、ReDoc)と設定項目の違いについて解説しています。具体的なプラグインの使い分け方も紹介します。

Updated at: 2024/11/02 13:36

MIGのVMを一時停止/停止する

#MIG #GCE #VM #GCP #Google Cloud

本記事では、Google CloudのManaged Instance Group (MIG)でVMを一時停止および停止する機能について解説しています。この機能を活用することで、コスト削減やスケールアウト時のパフォーマンス向上が可能になります。また、具体的なユースケースや設定方法についても詳しく紹介しています。

Updated at: 2024/11/02 13:35

kfp localの実行時にGPUを使う

#Kubeflow #MLOps #GPU

この記事では、kfp(Kubeflow Pipeline)をローカル環境でGPUを使用して実行する方法を解説しています。Dockerのランタイムをnvidiaに変更し、`/etc/docker/daemon.json`を適切に設定する手順を紹介。最後に、Dockerを再起動することでkfp local実行時にGPUが利用可能になることを確認します。

Updated at: 2024/11/02 13:34

GitHub Releases からバイナリをインストールする手軽な方法

#GitHub #CLI

この記事では、GitHub Releasesからバイナリを手軽にインストールする方法を紹介します。手動でのダウンロードや展開の手間を省くために、`installer`、`gh-install`、`dra`、`install-release`といったツールを試しています。各ツールの特徴と使用方法について具体的に解説します。

Updated at: 2024/11/02 13:33

【GitHub Actions】git diff の差分を高速に取得する方法

#GitHub Actions #git #CI/CD

この記事では、GitHub Actionsでgit diffの差分を高速に取得する方法を紹介します。actions/checkoutを2回実行することで、全履歴を取得せずに差分を効率的に取得できます。リポジトリが大きい場合のCI/CDのパフォーマンス向上に役立ちます。

Updated at: 2024/11/02 13:32

[git lfs]filterを使ってオブジェクトを絞り込む

#Git #Git LFS

この記事では、Git LFSのfilter機能を使用して特定のオブジェクトのみを管理対象とする方法を紹介します。`--include`や`--exclude`オプションを利用して、特定のディレクトリやファイルを対象に絞り込む手順を具体的に説明します。さらに、filter設定をconfigに追加してデフォルトの挙動を変更する方法についても解説します。

Updated at: 2024/11/02 13:30

便利なGitコマンド

#Git

新規ファイルをトラック、差分を個別にトラック、変更があったファイルだけをトラック、 問題箇所を特定するには、git コマンドの紹介。

Updated at: 2024/11/02 13:28

[GitHub Actions] DraftのPull RequestでCIをスキップする

#GitHub Actions #GitHub #CI

この記事では、GitHub ActionsでDraftのPull Requestに対してCIをスキップする方法を紹介。`pull_request`イベントのトリガー設定と、ジョブの実行条件として`github.event.pull_request.draft == false`を設定する手順を紹介。

Updated at: 2024/11/02 13:28

GitHub Actionsのキャッシュを削除する

#GitHub Actions #GitHub #CI/CD

gh cliを使ってGitHub Actions のキャッシュを削除する方法について紹介

Updated at: 2024/11/02 13:26

複数のインスタンステンプレートをMIGとして利用する

#MIG #GCE #VM #GCP #Google Cloud

この記事では、Google CloudのManaged Instance Group(MIG)で最大2つのインスタンステンプレートを利用する方法を紹介します。複数のテンプレートを使用することで、コスト削減やGPUクオータの制約回避など、異なる設定の仮想マシンを同時に起動できます。Terraformを用いたMIGの設定手順も具体的に紹介します。

Updated at: 2024/11/02 13:25

CV-CUDAのpillow resizeを試す

#NVIDIA #GPU #CUDA #Computer Vision

この記事は、NVIDIAが提供するCV-CUDAを使って画像のリサイズを行い、pillow、resizer、cvcudaの3つの方法で処理時間を比較した内容を紹介しています。CV-CUDAは機械学習向けの画像処理およびコンピュータビジョンアプリケーション向けのオープンソースプロジェクトで、GPUアクセラレーションを活用して効率的な前処理・後処理パイプラインを構築できます。これにより、スループットを向上させながらクラウドコンピューティングコストを削減できます。

Updated at: 2024/11/02 13:21

CSpellでスペルチェック

#typo #spellcheck

この記事は、CSpellというスペルチェックツールの使い方について説明しています。CSpellはCLIとVSCodeで使用できます。

Updated at: 2024/11/02 13:20

コードリーディングの効率を上げるためのTips

#tips #VSCode

この記事は、VSCodeを使ってコードリーディングの効率を上げるためのTipsを紹介しています。

Updated at: 2024/11/02 13:19

Cloud Buildを非同期で実行する

#GCP #Google Cloud #Cloud Build #CI/CD

この記事では、Google CloudのCI/CDサービスであるCloud Buildを非同期で実行する方法について紹介しています。`gcloud builds submit`コマンドに`--async`オプションを指定することで、Cloud Buildを非同期で実行できます。これにより、GitHub ActionsやCloud Functionsなどの従量課金性のサービスからCloud Buildを実行する際に、実行が終わるまで待機する必要がなくなり、二重課金を避けることができます。

Updated at: 2024/11/02 13:18

Argo Workflowsのsuspend機能を活用した非同期実行

#Argo #Argo Workflows #Kubernetes

この記事では、Argo Workflowsのsuspend機能を活用して非同期実行を行う方法について紹介します。suspend機能を使うと、外部ジョブの実行をトリガーした後、ワークフローを一時停止し、外部ジョブの完了時にArgo APIを呼び出してワークフローを再開できます。

Updated at: 2024/11/02 13:16

ActivityWatchで活動を記録する

#ActivityWatch #ツール #productivity #生産性

ActivityWatchというツールを使ってPCでの活動を記録する方法を紹介します。ActivityWatchを使うと、作業時間の記録を行い、どこに時間を使っているかを把握するのに便利です。活動のサマリーやタイムラインとしてのふりかえりも可能です。公式サイトからダウンロードし、展開して実行ファイルを実行するだけで使用できます。

Updated at: 2024/11/02 13:15

gh cliを使った ghcr の認証

#GitHub #gh cli #Docker

ghcr.ioにDockerイメージをpushするためのにgh cliを使った認証方法を紹介。

Updated at: 2024/10/27 23:11

PyTorchの推論を高速化する

#Python #PyTorch #machine-learning #deep-learning #optimization #performance

PyTorchの推論を高速化する方法について調べてみた。混合精度の使用や、Channels-Lastメモリ形式、cuDNN ベンチマーク、torch.inference_mode()、torch.compile()等を利用することで高速化が期待できる。torchのモデルをTensorRTやONNX、OpenVINO、Deepspeedに変換することで高速化する方法もある。

Updated at: 2024/10/27 23:11

Triton Model Navigator で PyTorch, TensorFlow, ONNX モデルを最適化

#NVIDIA #GPU #ML

Triton Model Navigator は、NVIDIA GPU を活用したディープラーニングモデルの最適化とデプロイメントのための強力なツールキットです。PyTorch、TensorFlow、ONNX モデルを TensorRT に変換するプロセスを自動化し、パフォーマンス向上、精度検証、プロファイリング、デプロイメントの簡素化を実現します。自動化された最適化、フレームワーク間の互換性、QAT サポートなど、豊富な機能を備えています。

Updated at: 2024/10/27 23:11

Pantsでwhlを作る

#Python #Pants #pantsbuild #whl #Docker

Pantsでwhlを作る

Updated at: 2024/10/27 22:55

FastAPIのパフォーマンス分析

#FastAPI #Python #profile

fastapi_profilerはFastAPIのミドルウェアとして動作し、リクエストごとの処理時間、各Pythonコードの処理時間を計測できます。インストールはpipで行い、PyInstrumentProfilerMiddlewareをFastAPIに追加するだけで使用可能です。

Updated at: 2024/10/27 22:23

Home

Nishikohの技術ブログです。 PythonやGoogle Cloud(GCP)、MLOpsについての備忘録が多めです。

Updated at: 2024/10/13 15:55

これまで読んだ本

#book

読んだ本の一覧

Updated at: 2024/09/22 19:49

pants/pants testで実行中かを判定する

#Pnats #Python #test

Updated at: 2024/06/22 22:34

Google Cloud API Gatewayのスキーマ定義をFastAPIで作成する

#FastAPI #Google Cloud API Gateway #OpenAPI #Python #Google Cloud #Swagger

Updated at: 2024/06/01 23:06

gcloud aio storageのtoken発行がtimeoutになる

#Python #Google Cloud #auth

Updated at: 2024/06/01 23:06

GitHub の認証が面倒だったので gh cli で楽をしたい

#gh #GitHub #Git

多要素認証をしていたらprivateリポジトリのcloneに手間がかかる。gh cliを使って認証をした後にcloneすると楽に開発を進められる。

Updated at: 2024/06/01 23:06

google-indexing-script を使って Google 検索のインデックス登録を自動化する

#Google #SEO

Updated at: 2024/06/01 23:06

依存ライブラリがメンテナンスされているか調べる

#Node.js #npm #yarn #JavaScript #Python #Ruby #Go #Rust #PHP

Updated at: 2024/05/04 7:55

Pydanticのエイリアスについて

#Python #Pydantic

Pydanticのエイリアスを使うことでデータソースのフィールド名とコードスタイルを紐づけることができる。allow_population_by_field_name=Trueを設定することで、エイリアス前の名前とエイリアス名の両方を使ってデータ化することができる。エイリアスの指定方法には優先順位があり、複数の方法で設定することができる。

Updated at: 2024/05/04 7:50

Slide

#slide #GitHub #GraphQL #Machine Learning #MLOps #Google Cloud #GPU #非同期システム #Pants #Reliability #ML Model Serving #NVIDIA Triton Inference Server #Kubeflow Pipelines #kfp #Vertex AI #Vertex AI Pipelines

公開しているスライドのリンク

Updated at: 2024/04/30 5:45

Pull Request の番号を取得する

#GitHub #GitHub Actions #gh CLI

Updated at: 2024/03/17 17:39

外部媒体のtech blog

#Pants #Python #monorepo

外部媒体のtech blog

Updated at: 2024/03/05 14:22

GitHub Actions 内でコンテナを動かす

#GitHub Actions #Docker #GitHub

GitHub Actions 内でコンテナを動かす

Updated at: 2024/01/06 14:56

GitHub Actionsでsecretsを使う

#GitHub Actions #GitHub #CI

GitHub Actionsでsecretsを使う方法について調べてみた。env構文で使うことで、環境変数として使うことができる。

Updated at: 2024/01/06 14:56

[mypy]TypeError: 'type' object is not subscriptable を解決する

#mypy #Python

mypyでTypeError: 'type' object is not subscriptable を解決する

Updated at: 2024/01/06 14:56

Pantsを使ったモノレポで依存関係を調べる

#Python #Pants #pantsbuild #Poetry

Pantsを使ったモノレポで依存関係を調べる。ファイルとしての依存を特定したり、レポジトリ全体で使われてるPythonライブラリの情報を取得できる。

Updated at: 2024/01/06 14:56

poetryの依存関係を一括で更新する

#Python #Poetry

poetryで依存関係を更新する際は、更新するパッケージを明示的に指定する必要がある。poetryプラグインのpoetry upを使うことで依存関係を一括で更新できる

Updated at: 2024/01/06 14:56

GitHub Actionsでpytestのカバレッジを出力する

#Python #Test #GitHub #GitHub Actions #CI/CD

GitHub Actionsでpytestのカバレッジを出力する。計測したカバレッジをPull Requestに出力したり、jobのサマリーに出力できる。

Updated at: 2024/01/06 14:56

terratagを触ってみた

#Terraform #IaC #Google Cloud

terratagを触ってみた。terratagはリソースにtagを付与するツール。AWSにはdefault_tagsがあるが、Google Cloudにはないのでterratagを使うと便利。

Updated at: 2024/01/06 14:56

Vertex AI Pipelinesを触ってみた

#Python #Google Cloud #Vertex AI #Machine Learning #MLOps

Vertex AI Pipelinesとは、Vertex AIの機能の一つで、MLモデルの学習やデプロイを自動化するためのツールです。Vertex AI Pipelinesは、Kubeflow Pipelinesの上に構築されており、Kubeflow Pipelinesの機能をそのまま利用することができます。Vertex AI Pipelinesを使って、MLモデルの学習とデプロイを試してみました

Updated at: 2024/01/06 14:56

cargo generateを触ってみた

#Rust #Cargo

Rustのプロジェクトを作成するためのテンプレートを作成するcargo generateを使ってみた。プロジェクトテンプレートとしてcookiecutterやcopierがあるがそれのRust版という感じ。

Updated at: 2024/01/06 14:44

BuildJetでGitHub Actionsの費用を半分にする

#GitHub Actions #BuildJet #CI/CD

BuildJetをでGitHub Actionsのruns-onで指定すると同等のマシンスペックの費用が半分になる

Updated at: 2024/01/06 14:44

GitHub Actions で inputs の値を使うと concurrency の group 設定がうまくできなかった

#GitHub Actions #GitHub #CI

GitHub Actions で inputs の値を使うと concurrency の group 設定がうまくできなかったがgithub.eventのinputsを使うとうまく設定できた。

Updated at: 2024/01/06 14:44

GitHub Actionsのあれこれ

#GitHub #GitHub Actions #CI/CD

この記事ではGitHub Actionsのあれこれをまとめていく。実行ブランチの取得やrun-nameを使った概要表示、workflow完了後に発火させる設定、外部リソースの使用など。

Updated at: 2024/01/06 14:44

MkDocsを使ってGitHub Pagesに公開する

#Markdown #MkDocs #GitHub #GitHub Pages #GitHub Actions #blog

mkdocs-materialを使ってGitHub Pagesを公開するための手順を解説。GitHub Actionsを使用してアーティファクトを出力してデプロイを行う。紹介する手法ではGitHub Pages公開用のブランチを作成せずに公開できる。日本語の検索がうまくできずハマったのでその対処法も紹介する。

Updated at: 2024/01/06 14:44

[GitHub Actions] paths-filterを使ってファイル、ディレクトリの変更を検知する

#CI/CD #GitHub Actions

GitHub Actionsのpaths-filterを使用して、変更されたパスやファイルを検知し、処理をトリガーする方法について紹介。matrixを活用してパスごとに並列処理ができたり、外部ファイルに設定を記述することでメンテナンスがしやすくなる。

Updated at: 2024/01/06 14:44

モノレポビルドシステムBuck2

#Buck2 #Bazel #Pants #Meta #FaceBook

Buck2というMetaが発表したモノレポビルドシステムについて調べてみた。C++, Rust, Pythonなど多言語のビルドをサポートしている。PythonはPantsと同じくpexを生成する

Updated at: 2023/12/10 4:10

Dockerのビルド結果をキャッシュする

#Docker #CI/CD #GitHub Actions #cache #buildx

Dockerのビルドキャッシュの設定には、buildxを使用することで細かなオプションが利用できます。ビルドキャッシュは複数の方法で保存・利用することができます。outputs: type=dockerを指定すると遅くなるので不必要な使用は避けた方が良いです。

Updated at: 2023/12/10 4:10

Pantsでadhoc toolを使ってみた

#Python #Pants

Updated at: 2023/12/10 4:10

TorchServeの中で外部ライブラリを使う

#Python #PyTorch #Torch #TorchServe

TorchServeの中で外部ライブラリを使う。requirements.txtを使うことでTorchServeの中で外部ライブラリを使うことができる。

Updated at: 2023/12/10 4:10

changelogを自動で生成したい

#git #changelog #GitHub #GitHub API

changelogを自動で生成するためのツールを調べてみた。ローカルのgit log/tagから生成するものと、GitHubのAPIを使って生成するものがある。

Updated at: 2023/12/09 20:23

Cloud Runデプロイコマンドでシークレットを扱う

#Google Cloud #Cloud Run #gcloud

Cloud Runデプロイコマンドでシークレットを設定。ワンライナーで複数のシークレットを設定する方法を紹介する。

Updated at: 2023/12/09 20:23

cookiecutterとcruftとcopierでプロジェクトテンプレートの更新を取り入れる

#Python #copier #cookiecutter #cruft #DevOps

プロジェクトを始める時にお決まりのディレクトリ構成、ライブラリ、ツール、CI 設定、その他を使いまわすためにプロジェクトテンプレートを用意することがある。テンプレートが更新された際、既に作成済みのプロジェクトにコピペで更新を反映したり、更新が面倒で放置されるプロジェクトもある。そこで継続的にテンプレートの更新をプロジェクトに反映するツールcruftとcopierについて調べてみた。

Updated at: 2023/12/09 20:23

GitHub の Release から asset を取得する

#GitHub #gh cli

GitHub Release から asset をダウンロードする方法

Updated at: 2023/12/09 20:23

MkDocsのblogging extensionのpagingがうまくいかなかった

#MkDocs

MkDocsのblogging extensionのpagingが動作せず、全てのコンテンツが2回表示されてしまった。pagingを無効ににして一ページで表示する件数を多くすることで、全てのコンテンツを一ページに一回表示することにした。

Updated at: 2023/12/09 20:23

Pub/Subを触ってみた

#Google Cloud #Pub/Sub #Compute Engine

Pub/Subを触ってみた。Pub/Subの概要、Subscriptionのタイプ、メッセージの再送、配信保証についてまとめた。別プロジェクトのPub/Subトピックを関連づける方法やPub/Subの指標を使ったCompute Engineのスケールについて紹介

Updated at: 2023/12/09 20:23

Pydanticでコマンドライン引数をパースする

#Python #Pydantic #CLI

Pydanticでコマンドライン引数をパースすることで、コマンドライン引数のバリデーションを行うことができる。

Updated at: 2023/12/09 20:23

MQL で Vertex AI Endpoint の endpoint_id ごとにエラー率を取得する

#MQL #Vertex AI #Google Cloud #Observability

MQL で Vertex AI Endpoint の endpoint_id ごとにエラー率を取得する

Updated at: 2023/12/09 19:46

FastAPIでOpenAPI定義を生成する

#Python #Pydantic #FastAPI #OpenAPI #Swagger #ReDoc

FastAPIとPydanticを使ってOpenAPI定義を生成できる。ReDocのなかにOpenAPIのUIを埋め込むというのもやってみた。

Updated at: 2023/12/04 15:17

actを使ってみた

#act #GitHub #GitHub Actions #CI/CD #DevOps

actはGitHub Actionsの動作検証を手元で行うためのツールです。Dockerを使用して動作検証を行い、事前にDocker環境を用意する必要があります。actは3つの異なるサイズのベースDockerイメージ(Micro、Medium、Large)から選択することができます。一部の動作はactで検証できない場合があります。

Updated at: 2023/12/04 14:37

Apache BeamでPyTorchを動かしてみた

#Python #PyTorch #Apache Beam #Dataflow #Google Cloud

Dataflow MLで紹介されてるPytorchのサンプルコードを動かしてみた。Torchのモデルで推論することができた。

Updated at: 2023/12/04 14:37

Cargoプロジェクトのバージョンを取得する

#Rust #Cargo

cargo metadataコマンドとjqを使って、Cargoプロジェクトのバージョンを取得する

Updated at: 2023/12/04 14:37

Cloud BuildでGitHubのSSH鍵を使う

#Google Cloud #Cloud Build #GitHub #ssh #CI/CD

Cloud BuildでGitHubのSSH鍵を使う方法を調べてみた。Cargoやgit submoduleなどでプライベートのリポジトリにアクセスする際にSSH鍵が必要になる。

Updated at: 2023/12/04 14:37

docker-slimを触ってみた

#Docker

docker-slimはDockerコンテナイメージのサイズを小さくするツール。最大1/30のサイズになる。PythonのWebAPIで試してみたがうまくできなかった。

Updated at: 2023/12/04 14:37

エンジニアリングマネージャーのしごとを読んだ

#book #組織 #キャリア #マネジメント

エンジニアリングマネージャーのしごとを読んだ。この本はエンジニアリングマネージャーの役割、必要なツールやプロセス、スタッフとの関係性構築、モチベーションの理解、評価や採用について書かれている。

Updated at: 2023/12/04 14:37

eventarcを触ってみた

#Google Cloud #GCS #Google Cloud Storage #Pub/Sub #eventarc

eventarcとはeventが起こったことを検知してPub/SubやAPIエンドポイントに通知するGoogle Cloudのサービス。eventarcを作るとPub/Subのtopicとsubscriptionも一緒に作ってくれる。

Updated at: 2023/12/04 14:37

MkDocsで特定のファイルやディレクトリを除外する

#MkDocs #doc #Markdown

MkDocsのビルドプロセスを高速化するために、 mkdocs-excludeを使って必要のないファイルを除外する。mkdocs.ymlファイルに設定を追加することで、除外するファイルを指定できる。

Updated at: 2023/12/04 14:37

gh cliでtokenを出力する

#GitHub #gh cli #GitHub Actions #GitHub API

ローカル開発をする際にGitHubの機能を使った動作確認をすることがある。動作確認にGitHub のtokenが必要なことがあるが、都度tokenを生成するのは手間がかかる。gh cliを使って認証で使っているtokenを出力し、それを使うことで手間を省くことができる。

Updated at: 2023/12/04 14:37

GitHub CLI拡張でPull Requestのメトリクスを収集する

#GitHub #Git #gh #GitHub CLI

GitHub CLI拡張でPull Requestのメトリクスを収集する。これを使うことでコードレビューにどれだけ時間がかかっているか知ることができる。

Updated at: 2023/12/04 14:37

GitHub Actionsでoutputへの出力をPythonで行う

#Python #GitHub #GitHub Actions

GitHub Actionsでoutputへの出力をPythonでやってみた

Updated at: 2023/12/04 14:37

ディレクトリのgit logを表示する

#Git

特定のディレクトリのgit logを表示する

Updated at: 2023/12/04 14:37

git管理のrootディレクトリを取得する

#Git

git rev-parse --show-toplevel コマンドを使うとGit の最上位ディレクトリを表示できる。

Updated at: 2023/12/04 14:37

GitHubでCIのステータスを取得・変更する

#GitHub Actions #CI/CD #GitHub

GitHubでCIのステータスを取得・変更する

Updated at: 2023/12/04 14:37

Google Professional Services というレポジトリで気になったものを列挙する

#Google #Google Cloud

Google Professional Services というレポジトリで気になったものを列挙する。このレポジトリにはGoogleCloudプロジェクト内のリソースの可視化やDataflowのサンプルコード、IAM管理のツール等がある。

Updated at: 2023/12/04 14:37

image streaming について調べてみた

#GKE #Cloud Run #Google Cloud #Container #Docker #Artifact Registry

image streaming について調べてみた。image streamingを使うことで、コンテナイメージ pullの時間を大幅に短縮できる。

Updated at: 2023/12/04 14:37

MkDocsでHTMLを表示する

#MkDocs #HTML #Markdown

MkDocsを使用して、HTMLページに遷移するためには、navの参照をHTMLファイルに設定する必要がある。ローカルのHTMLやリモートのwebページに遷移することができる。

Updated at: 2023/12/04 14:37

MkDocsのインデントを調整する

#MkDocs #Markdown

MkDocsのリスト等をネストさせる時のインデントがデフォルトではスペース4個になっている。スペース2個のMarkdownで書きたいので、これを反映する方法について調べてみた

Updated at: 2023/12/04 14:37

MkDocs Pluginのtimelineを使う

#MkDocs #Python

MkDocs Pluginのtimelineを使ってみた。導入する際にREADMEに書いてあることだけではうまくいかなかったのでメモ。

Updated at: 2023/12/04 14:37

MKDocsでタイムライン機能を有効にする

#blog #MkDocs

MKDocsでタイムライン機能を有効にする。対象ディレクトリをカレントディレクトリに設定することで、全体を対象にできる。 markdownのヘッダーで exclude_from_blog: true を設定することで、非表示にできる

Updated at: 2023/12/04 14:37

Pantsでディレクトリ配下の設定を統一する

#Python #Pants #pantsbuild

Pantsでディレクトリ配下の設定を統一する。ディレクトリ配下の設定を統一することで、設定の変更が楽になる。

Updated at: 2023/12/04 14:37

Pantsで個人用の設定を使う

#Python #Pants #pantsbuild

Pantsで個人用の設定を使う。個人用の設定を使うことで、個人用の設定を変更しても他の人に影響を与えない。

Updated at: 2023/12/04 14:37

Pantsのテストをshard分割して実行する

#Pants #pantsbuild #CI/CD #test

Pantsのテストをshard分割して実行できる。リポジトリ全体のテストを分割して実行することで、CIの実行時間を短縮できる。

Updated at: 2023/12/04 14:37

Pantsで差分テストをやってみた

#Python #Pants #monorepo #CI/CD #Test

Pantsはビルドシステムであり、モノレポを管理するために使用される。テスト実行時にオプションを付与することで差分テストを実行できる。差分テストをすることで、テスト時間を短縮できる。

Updated at: 2023/12/04 14:37

ローカルの whl を使ってpip installする

#pip #Python #whl

ローカルの whl を使ってpip installする。ローカルの whl を使うことで、インターネットを経由せず pip install できる。

Updated at: 2023/12/04 14:37

pipxでflake8 プラグインを使う

#Python #flak8 #pipx

pipxでflake8 プラグインを使う

Updated at: 2023/12/04 14:37

PydanticでGenericを扱う

#Python #Pydantic

PydanticでGenericを扱う。Genericを使うことで型を指定しながら柔軟にモデルを定義できる。

Updated at: 2023/12/04 14:37

subprocessで標準出力の結果を文字列として取得する

#Python #subprocess

subprocessで標準出力の結果を文字列として取得する方法について

Updated at: 2023/12/04 14:37

Pytorchで量子化してみた

#Python #PyTorch #推論 #Machine Learning

Pytorchで量子化してみた。CUDAを使った量子推論はできなかったが、ONNXやTensorRTに変換すればできるかもしれない。

Updated at: 2023/12/04 14:37

vscode-revealでtwo columnにする

#VSCode #reveal.js #Markdown #presentation

vscode-revealでtwo columnにする

Updated at: 2023/12/04 14:37

Ruffを使ってみた

#Ruff #Python #CI/CD #Rust

Ruffを使ってみた

Updated at: 2023/12/04 14:37

Googleのソフトウェアエンジニアリングを読んだ

#Google #DevOps #組織 #book

Googleのソフトウェアエンジニアリングを読んだ。Googleのエンジニアリング組織の構造や開発プロセス、コードレビュー、スタイルガイド、コードレビュー、CI/CD、デプロイ、モニタリング、リリース、サービスの運用などについて書かれている。

Updated at: 2023/12/04 14:37

Source Repositoryを触ってみた

#Git #Google Cloud

Cloud Source Repositoriesは、Google CloudでホストされているプライベートGitリポジトリです。Source Repository Readerの権限をServiceAccountに付与すると、クローンすることができます。

Updated at: 2023/12/04 14:37

Cloud Runをterraform applyした時のハングを解消する

#Cloud Run #Google Cloud #Terraform

Cloud Runのリソースに対してterraform apply を実行する際にエラーが発生し、ハングしました。autogenerate_revision_name=true を設定することで、エラーを回避できました。また、template.metadata.name にユニークな名前を設定することでも問題を解決できます。

Updated at: 2023/12/04 14:37

既存のインフラストラクチャをIaCで管理するツールTerraformerとその関連ツール

#Terraform #IaC #Cloud #Google Cloud #gcloud

IaCで管理してないリソースを取り込んでIaCとして管理するツールTerraformerとその関連ツールの紹介

Updated at: 2023/12/04 14:37

Vertex AI EndpointsのIDを任意のIDにする

#Vertex AI #Vertex AI Endpoints #Python #Machine Learning #Google Cloud

Vertex AI EndpointsのIDを任意のIDにする。数字のみ使用でき、先頭の文字を0以外にする必要がある。

Updated at: 2023/12/04 14:37

Vertex AI EndpointsのIDとDisplay Nameを取得する

#Vertex AI #Vertex AI Endpoints #Python #Machine Learning #Google Cloud

Vertex AI EndpointsのIDとDisplay Nameを取得する

Updated at: 2023/12/04 14:37

Vertex AI Prediction Batchを触ってみた

#Vertex AI #Google Cloud #Python

Vertex AI Prediction Batchを触ってみた。入力値にGCSオブジェクトのパスを指定するとbase64エンコードされて処理される。出力先はBigQueryとGCS。リアルタイム推論が必要ない場面ではシステム構成の選択肢になる。

Updated at: 2023/12/04 14:37

Vision APIを使う時のロールについて

#Google Cloud #Vision API #Service Account #IAM

Vision APIを使う時のロールについて

Updated at: 2023/12/04 14:37

Index

Updated at: 2023/05/20 8:36
1
Total 144 posts.