Python
概要 layerのコードをアップデートするPythonスクリプトを作成した。 背景と目的 Lambda レイヤーのコードをデバッグしていて、手動でアップロードするのが面倒になってきたので、スクリプト化した。 詳細 zipの構造の確認 手動でアップロードする場合、.zip…
自分用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について旧版との違いがわかったのでメモした。 背景と目的 AWS IoT Device SDK v2を使う必要が出た。APIの仕様が旧バージョンから変わっているので、ちょっと動かして確認する。 詳細 0. …
概要 Pythonアプリのデーモンをシャットダウン時に安全に終了するためのメモ。 背景と目的 Pythonアプリのデーモンを、システムシャットダウン時に安全に終了するための基本的な実装方法を確認する。 詳細 0. 環境 Python3.7 Linux(Debian) 1. 実装 Python標…
概要 Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試してみた。 背景と目的 半年前ぐらいに、Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsというものがあるのを知った。 dev.classmethod.jp しかし、なかなか…
概要 boto3でLambda.client.invokeの引数ClientContextを使い方を確認してメモした。 概要 背景と目的 詳細 呼び出し側 呼び出される側 まとめと今後の課題 背景と目的 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がないといわれたが、対処し無事インストールできた。 背景と目的 あるLinuxのシステムで、pipでbluepyをインストールしようとしたところ、glib.h、glibconfig.hがないと言われてうまくいかなかったので対…
概要 PythonアプリからブラウザアプリへMQTTでメッセージ送信するための簡単なテストプログラムを作成し、動作確認した。 背景と目的 Raspberry Pi上のPythonアプリ側から、そのUI系として用いているクライアントサイドWebアプリ(以下、ブラウザアプリ)に対…
概要 Raspberry Piに、scikit-learnをインストールしようとして、 pip3 install scikit-learn とやったが、うまくいかなかったのでやり方を変えてうまくいったときのメモ。 実施条件 Raspberry Pi 4 Model B 2020-02-05-raspbian-buster-full.img Python3.5…
概要 2020-02-05-raspbian-buster-fullで、Python3.5.3を無事インストールできた。 背景と目的 とある事情で、2020-02-05-raspbian-buster-fullで、Python3.5.3をインストールする必要が出たので、方法をメモる。 詳細 0.条件 Raspberry Pi 4 Model B 2020-0…
ファイル読み取り Excel CSV ファイル書き出し CSV 基本的な情報表示 基本的な編集 DataFrame 欠損値 重複 可視化 DataFrameへの追加 DataFrame, Seriesの連結 DataFrameからの抽出方法いろいろ DataFrameの一部データの削除 相関 参考 ファイル読み取り Exc…
概要 Raspberry Pi 4 で機械学習系のパッケージをインストールしたときのメモ。 背景と目的 Raspberry Pi 4 で機械学習系のパッケージを入れたので手順をメモしておく。 詳細 1. 実施条件 Raspberry Pi 4 Model B 2020-02-05-raspbian-buster-full.imgを焼い…
概要 Pythonで、シグナル)を受信する方法を調べ、実装して動くか試した。 背景と目的 Pythonで、シグナル)を受信する必要が出たので、方法を調べ、実装して動くか試す。 詳細 1.Pythonの標準モジュール signal Pythonには、はじめからシグナルを扱うためのモ…
# coding: utf-8 """ とにかくCSVを可視化する """ import json import codecs import numpy import datetime import os from matplotlib import pyplot as plt import pandas as pd MYDIR = os.path.dirname(__file__) def visualize(df, options={}): """ …
概要 pigpioで任意波形の出力を試した。 背景と目的 先日、pigpioのHardwarePWM機能を使ってパルス出力をしたのだが、時間精度のよい任意波形の出力が必要になった。そこで、pigpioのwave_*****関数群を使って、任意波形を出力するコードを書いて動作を試す…
概要 pigpioを使って、Pythonから簡単にPWM波形が出力できた。 背景と目的 Pythonを使って、PWM波形の出力を試す。 詳細 0.参考 abyz.me.uk 1.インストール 以下を実行すれば、インストール完了。 sudo apt-get update sudo apt-get install pigpio python-p…
概要 pigpioのCライブラリを使ったC/C++プログラムをPythonから利用する方法をまとめた。 背景と目的 Raspberry Pi用のGPIO制御ライブラリであるpigpioは、C言語用とPython用のライブラリが用意されているが、都合によりC言語用のpigpioライブラリを使って作…
概要 最近、Python2から3に乗り換えた。多少の違いがあるとのことだったが、多少ではなく結構違いがあってハマったのでメモしておく。必要があれば今後も追記。 詳細 base64.b64encode bytes, str, unicodeの扱いが変わったことによる差だろうからじっくり考…
概要 ラズパイオーディオにシャットダウン/起動用ハードボタンをつけた。 背景と目的 ラズパイオーディオで、Webブラウザアプリからいろいろいじくっていると、ときどき操作ができなくなって しまう時があったりする。そういうときに再起動したいのだが、SSH…
概要 Boostnoteで下書きしたMarkdown文書をはてなブログに簡単に投稿するためのスクリプトを作成した。 背景と目的 私は、最近Boostnoteというノートアプリがお気に入りでよく使っている。 このアプリはMarkdown記法で書けるので便利なのだが、唯一ブログへ…