技術メモ#Python
概要 USB仮想シリアルポートデバイスの挿抜を監視するためのPythonソースコードを自分用にメモしておく。 実装 必要パッケージ pip install PySerial pip install pywin32 ソースコード import threading import time import logging import win32api import…
概要 ラズパイオーディオ筐体の操作プログラムを作成し、完成させた。 概要 背景と目的 詳細 0. 準備 1. volume操作部 2. 再生/停止、トラック操作部 3. スクリプト全体 4. systemdサービス化 5. 完成 まとめと今後の課題 背景と目的 前回、筐体の組み立てを…
概要 ローカルPC上で、LLMを動かし、かつ、RAGを実装するための自分用メモ。 概要 背景と目的 詳細 0. 環境 1. ローカルLLM実行環境(Ollama) 2. LLMモデル 3. RAGの実装 3.1 embedding modelのインストール 3.2 実装 3.2.1 全体構成 3.2.2 ベクトル化 3.2.3 …
概要 Flask+React+pywebview+PyInstallerでデスクトップアプリを作成し、動作を確認した。 概要 背景と目的 詳細 0. 環境 1. 作成するもの、実現手段 2. 必要なライブラリのインストール 2.1 Python 2.2 node 3. Flask部 backend.py 4. React部 frontend/src…
概要 seleniumで、指定した要素をスクロールしてスクリーンショットを撮るためのメモ。 概要 背景と目的 詳細 0. 環境 1. スクリーンショットの対象サンプル 2. seleniumコード 2.0 キャプチャ対象要素を選択 2.1 対象要素をスクロール 2.2 指定した子要素が…
概要 Pythonで、時刻周りの処理を行っている最中に、システム時刻の変更があるとどんな挙動になるのか気になったので調べてメモしておく。 0. 環境 Linux搭載組み込み機器 Python3.5(事情により古いがまあ、どれも変わらないだろう) 時刻同期 time.sleep 影…
概要 ローカルPC上のOpenSearchにREST APIでアクセスしてCSVファイルのデータを書き込んだ。 背景と目的 以前、ローカルPC上nにOpenSearchを立ち上げた。ちょっとした動作確認のため、使っていこうとしたがちょうどいいデータがないので、手元にあるCSVファ…
背景 SageMaker Python SDKを使用 ローカルのJupyter Notebookを使用 SageMaker組み込みアルゴリズム randomcutforestを使用 学習済みモデルアーティファクトはS3に格納済み モデルイメージのリージョンとモデルアーティファクトの格納先リージョンは同じ 上…
ユーザー環境変数Pathのインストール済みのPythonのフォルダをがWindowsAppsフォルダより上に来るように、上へボタンで移動する。
概要 Windows PCのWSL2上のJupyterNotebook環境で、SageMaker ローカルモードのトレーニングを実行しすることができた。 背景と目的 最近、SageMakerの勉強をしている。ちょっとコーディングを試したいが、AWS上のインスタンスを立ち上げずに軽く勉強したい…
requests requestsでは、以下の環境変数を設定することで、プロキシ設定を与えられる。 export HTTP_PROXY=... export HTTPS_PROXY=... また、各リクエスト個別で適用する方法もある。 proxies = { 'http' : 'http://user:pass@host:port', 'https' : 'http:…
概要 layerのコードをアップデートするPythonスクリプトを作成した。 背景と目的 Lambda レイヤーのコードをデバッグしていて、手動でアップロードするのが面倒になってきたので、スクリプト化した。 詳細 zipの構造の確認 手動でアップロードする場合、.zip…
概要 boto3を使ってDynamoDBへのクエリを投げるときに、DynamoDBの予約語や特別な文字を含むせいでうまくいかず色々調べて解決したのでメモする。 背景と目的 boto3でDynamoDBにクエリを投げるとき、 table = boto3.resource("dynamodb").Table(テーブル名) …
概要 Elasticsearchを、Lambdaから読み書きする方法をメモした。 背景と目的 都合により、Elasticsearchを使用する必要が出た。Lambdaから読み書きしたいので、作業内容をメモしておく。 詳細 1. Elasticsearch 1.1 Elasticsearch ドメインの作成 まず、Elas…
自分用numpyメモ。 スライス keepdims reshapeの引数に-1を指定 アダマール積 dot inner outer matmul pad repeat random np.random.permutation np.random.choice np.random.randn np.random.random_sample empty zeros_like ワンホットベクトル - カテゴリ…
Pythonのjsonschemaパッケージを使ってみた。 環境 Python 3.7.7 インストール pip install jsonschema 試用 汎用的に使える基底クラスを作ってみた。 import json import jsonschema import typing class DefinedJson: _SCHEMA = {} def __init__(self): se…
概要 AWS IoT Device SDK v2でのpublishで、ackCallbackとpacket idについて旧版との違いがわかったのでメモした。 概要 背景と目的 詳細 0. 参考URL 1. インストール 2. 動かして気づいたことをメモ 2.1 旧版のMQTTのClientオブジェクトに相当するもの 2.2 …
概要 Pythonアプリのデーモンをシャットダウン時に安全に終了するためのメモ。 背景と目的 Pythonアプリのデーモンを、システムシャットダウン時に安全に終了するための基本的な実装方法を確認する。 詳細 0. 環境 Python3.7 Linux(Debian) 1. 実装 Python標…
概要 Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試してみた。 背景と目的 半年前ぐらいに、Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsというものがあるのを知った。 dev.classmethod.jp しかし、なかなか…
概要 boto3でLambda.client.invokeの引数ClientContextを使い方を確認してメモした。 ランキング参加中DIY 概要 背景と目的 詳細 呼び出し側 呼び出される側 まとめと今後の課題 背景と目的 boto3でLambdaを呼び出す際、呼び出し先関数へ渡すペイロードの仕…
ApacheでFlask Appをデーモンで動かすときにつまずいたのでメモしておく。 そもそも、なぜデーモンで動かしたいかというと、 デーモンにしない場合、セッション毎(というかアクセス元IPアドレス?何で判断しているのかよくわからないが)に、アプリが別プロ…
概要 Pythonでログを画面出力したり、ファイル出力したりするときのコードスニペットをメモ。とりあえず、自分がすぐに使いそうなもの。 詳細 import logging import logging.handlers as handlers # TimedRotatingFileHandler # ログのフォーマット logForm…
概要 evdevとthreadingでスイッチ操作イベントをメインスレッドとは非同期で読み取って処理する簡単な方法を調べたときのメモ。 背景と目的 evdevを使って、スイッチ操作イベントをメインスレッドとは非同期で読み取る必要が出たため方法を調べたところ、asy…
参考 pythondatascience.plavox.info qiita.com 必要パッケージインストール pip install scikit-learn pip install dtreeviz dtreevizにはGraphvizが必要なので https://graphviz.gitlab.io/_pages/Download/Download_windows.html ユーザー環境変数PATHに…
公式ドキュメントに書いてないけど、ソースコードを読む限り、 scanner = Scanner() scanner.scan(passive=False) passive=Falseを引数に与えればよいらしい。公式ドキュメントは、全然メンテナンスされていないらしい。。。
bluepyのサンプルコードを参考に、 scanner = Scanner() devices = scanner.scan(10.0) for dev in devices: for (adtype, desc, value) in dev.getScanData(): print " %s = %s" % (desc, value) とすると、 desc = "Manufacturer" value[0:8] = "4c000215"…
概要 ESP32用のMicroPythonで、FFTをする自作モジュールを作る。 背景と目的 前回、ESP32用のMicroPythonで、C実装の自作モジュールを作る環境が整った。今回は、この環境を使ってFFTをする自作モジュールを作る。なお、PythonでそのままFFTの計算をコーディ…
概要 ESP32向けのmicropythonで、Cで実装した自作モジュールを作成した。 背景と目的 かつて、micropythonをESP32で動かして遊んでみたのだが、それ以来ほとんど触っていなかった。しかし、最近とある事情でESP32向けのmicropythonで、Cで実装した自作モジュ…
概要 FlaskアプリをApache2で動かしたとき、Flaskアプリスクリプト内モジュールレベル変数は、ずっと保持されることを確認できた。 背景と目的 FlaskアプリをFlaskの開発用サーバ(localhost:5000)で動かしたときは、Flaskアプリを構成しているPythonスクリプ…
概要 bluepyのインストールで、glib.h、glibconfig.hがないといわれたが、対処し無事インストールできた。 ランキング参加中DIY 背景と目的 あるLinuxのシステムで、pipでbluepyをインストールしようとしたところ、glib.h、glibconfig.hがないと言われてうま…