- 1. cx_freezeでインストーラを作成する方法
- 2. 偏微分方程式(ラプラス方程式の離散化)
- 3. カルマンフィルタ システム応答
- 4. 【langchain】BM25Retrieverの高速化(scikit-learn vs rank_bm25)
- 5. Pythonを用いたプログラミング学習①|演算子
- 6. 本気で開発者を目指す
- 7. pygameでRPGをつくってみる6
- 8. 学生実験用のグラフ作成術
- 9. pygameでRPGをつくってみる2
- 10. 所属大学にて9月に1日で機械学習
- 11. Dagster University の Dagster Essentialsをやってみた
- 12. LINE WORKS の Incoming Webhook を簡単に試してみる
- 13. paizaラーニング問題集「部分和問題 2」を解いてみた(処理の流れの解説あり)
- 14. paizaラーニング問題集「部分和問題 1」を解いてみた(処理の流れの解説あり)
- 15. 【目次】センチュリー・システムズMAシリーズでIoT
- 16. AI動画解析サービスを試してみる 2
- 17. PaSoRi RC-S300をPythonで扱う
- 18. paizaでPythonを使う時の備忘録(適宜更新)
- 19. 【Django】バリデーション機能の実装パターンについて
- 20. Pythonのprint文を使ってためしてみた。(20/30)
cx_freezeでインストーラを作成する方法
# 概要
この記事ではcx_freezeを使用してインストーラを作成する方法を紹介しています。
インストーラを作成するときに、デスクトップおよびスタートメニューのショートカットの作成有無やアイコンの設定などもできる方法となります。# cx_freezeのインストール
cx_freezeは以下のコマンドでインストールできます。
“`
pip install cx_freeze
“`# cx_freezeでインストーラを作成
1. まず、cx_freezeでインストーラを作成するには以下のsetup.pyを作成する (コピペでOK)
“`python
import sys
from cx_Freeze import setup, Executable##############################################
##############################################
######################################
偏微分方程式(ラプラス方程式の離散化)
Pythonを用いて、与えられた温度分布を数値的に解き、ラプラス方程式の解を三次元プロットを作成するコード
### Pythonコード
。“`python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# 解析解を定義
def temperature_distribution(x, y):
# 与えられた解析解 u(x, y) = (sin(πx) * sinh(π(1-y))) / sinh(π)
pi = np.pi
return (np.sin(pi * x) * np.sinh(pi * (1 – y))) / np.sinh(pi)# メッシュグリッドを作成
x = np.linspace(0, 1, 100)
y = np.linspace(0, 1, 100)
X, Y = np.meshgrid(x, y)# 温度分布を計算
Z = temperature_distribution(X, Y)
カルマンフィルタ システム応答
カルマンフィルタをPythonで実装し、プロットするコードを以下に示します。このコードは、1次元の状態推定を行い、カルマンフィルタの推定値と実際の観測データを可視化します。
### Pythonコード
“`python
import numpy as np
import matplotlib.pyplot as plt# カルマンフィルタのパラメータ設定
dt = 0.1 # 時間間隔
F = np.array([[1, dt], [0, 1]]) # 状態遷移行列
H = np.array([[1, 0]]) # 観測行列
Q = np.array([[1, 0], [0, 3]]) # プロセスノイズ共分散行列
R = np.array([[10]]) # 観測ノイズ共分散行列
B = np.array([[0.5 * dt**2], [dt]]) # 制御行列
u = 2 # 制御入力 (例:定数加速度)# 初期状態と共分散行列
x = np.array([[0], [1]]) # 初期状態(位置と速度)
P = np.eye(2) # 共
【langchain】BM25Retrieverの高速化(scikit-learn vs rank_bm25)
# 概要
langchainのBM25Retrieverをオリジナルをそのまま用いた場合(rank_bm25)とscikit-learnベースのBM25のベクトライザを内部で使うように書き換えた場合とで、速度比較しました。
結論としては、scikit-learnベースのものを使うようにすることでかなりの速度改善が見込めそうです。# 背景
langchainのBM25Retrieverは内部でrank_bm25を使用しています。
BM25Retrieverは検索対象文書のベクトルを保持しておらず、rank_bm25をの(BM25Okapiクラスのget_top_n関数の中で使われている)get_scores関数を使って類似度スコアを算出しています。get_scores関数は単語の一致を確認するような実装になっており、実行に時間がかかります。([参考](https://github.com/dorianbrown/rank_bm25/blob/master/rank_bm25.py))。一方で、langchainのTFIDFRetireverは、tfidf_arrayというプラパテ
Pythonを用いたプログラミング学習①|演算子
本記事の内容は書籍『[いちばんやさしいPython入門教室](https://amzn.asia/d/1NwQOiC)』のLesson 2-5にあたる。
なお、当記事は書籍に記載されていない情報も補足的に記載している。
# 演算子
Pythonにおける各種の演算子(一部)は以下のように定義されている。### 算術演算子
| 演算子 | 処理内容 |
|:-:|:-:|
| + | 足し算 |
| – | 引き算 |
| * | 掛け算 |
| / | 割り算 |
| // | 割り算(小数点切り捨て) |
| % | 割り算の余り |
| ** | べき乗 |### 累算代入演算子
| 演算子 | 同義の式 |
|:-:|:-:|
| a += b | a = a + b |
| -= b | a = a – b |
| *= b | a = a * b |
| a /= b | a = a / b |
| %= b | a = a % b |
| **= b | a = a ** b |
| //= b | a = a // b |### 比
本気で開発者を目指す
# 本記事の目的
自分への戒め
# 想定する読者
1. エンジニアになりたい人
1. エンジニアの人
1. 資格を取ることに夢中の人# 挑戦
ITエンジニアってなんかかっこいいな。
なってみたいな。
どうやったらなれるのかな。
なるほど、プログラミング言語を学んで、フレームワークを使えるようになればいいみたい。
プログラミング言語は何がいいのかな。
流行ってるもの、とりあえずPythonを学んでみよう。
(数日後)
なんか思ってたより簡単だったな。
よし、次はフレームワークを学んでみよう。Pythonのフレームワークにはどんなものがあるのかな。
Django、Flask、FastAPIとかがあるのか。
とりあえずDjangoってやつは高機能で色々出来るみたいだし、これにしようかな。
さっそくDjangoの入門書を読んでみよう。
MVCモデル?HTTP?
(数日後)
よく分かんないけど入門書に書いてあるとおりにやってみたら出来たし、まあいいか。
次はDjangoの中級者向けの実践的な本を読んでみようかな。
csrf?認証?OAuth?sqlインジェクション対策?n+1問題?
なんにも
pygameでRPGをつくってみる6
# フォルダ内のすべてのファイルに追加
ここをクリックしてください
![manto_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3874121/b00b5281-3c67-b2b1-2105-bd07ddc19e7e.png)
![player.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3874121/8c53e5d8-665d-c204-7b9d-67d3b361cfbc.png)
上の画像が下の画像のようになります。
ファイルが読み込まれない場合はフォルダ名を確認してください。日本語のフォルダ名はダメです。フォルダ名がキャラチップだとエラーが出ます。サイズが違うのもダメです。大きさは96*128です。
pngファイルです。jpegファイルではありません。
“`python:画像編集
import cv2
import numpy
学生実験用のグラフ作成術
## 自己紹介と背景
はじめまして,私は慶應義塾大学理工学部物理情報工学科のHarry_Arbrebleuです.筆者は現在学部3年で,2年の理工学基礎実験と3年の物理情報工学実験において,数多の友人がグラフの作成方法で悩んでいるのを目にしました.筆者はもっぱらPythonを用いて実験のグラフを作成していて,とても効率的な方法と思うので,この方法を他の学生の方々が使えるようになり,少しでも楽に実験レポートを作成できるようにしたいと思い,この記事を執筆しています.## 目的
本稿では,学生実験でグラフを作成するときにより美しく,より洗練されたグラフを作成するための方法について説明します.具体的には,最も基本的なグラフについて詳細な解説を行ったあと,そのコードを変更することで,他のグラフも容易に作成することが出来ることを確認します.また[Google Colabのリンク](https://colab.research.google.com/drive/1h0TuBFflFjVHjDlcFLVgDDSCG3nerkX3?usp=sharing)にてコードを共有することで,ただちにコードを使
pygameでRPGをつくってみる2
キャラクターについて書いていこうと思いますが、aidiaryさんのコードを参考にした方が早いかもしれませんね。
[人工知能に関する断創録](https://aidiary.hatenablog.com/archive/category/Pygame?page=3)ぼくのコードはaidiaryさんのコードをちょっと短くしただけです。
# キャラクターの描画
ここをクリックしてください
まずはキャラクターの画像をダウンロードしましょう。
キャラチップ.zipを選びましょう。
[ぴぽや倉庫 ここからダウンロード](https://pipoya.net/sozai/assets/charachip/character-chip-1/)![manto_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3874121/998eafca-5b90-e91b-f9dc-e1add456c5eb.png)
トリミングします。
![image.pn
所属大学にて9月に1日で機械学習
所属大学にて9月に1日で機械学習なんもわからん状態から生成モデルを組めるようになろうというワークショップをした。普通に考えて参加者側の視点に立ったら無理なんだが, まあとにかくそういうイベントをやった。やってみたところ, 「何話してるのかわからん」という感想が多く大絶賛だった(反省しています)。
ただワークショップ中にきた質問が結構自分も最初のころは躓いたところだな〜〜というものも多く, ワークショップ中にきた質問点をまとめていけば案外生成AIをフルスクラッチで作れる技術者になるためのTips集が作れるのではないかと思い, この記事を書くことにした。ただ正直, 自分が学びたての頃こういうTips集を読んで理解したかと言うとそうではない気がするので, 読者の皆様に関しては「へ〜こんなのあるんだ」という感じで読んでいただき, [実際にこ](https://daynghekimhoan.vn/hoc-ve-3d-tren-may-tinh/)のTipsでの問題が起こった時に思い出していただきたい。
重要度別に☆何個みたいな感じで発表していこうとも思ったが, なんだかんだ無意識に使う知識が
Dagster University の Dagster Essentialsをやってみた
## Dagster について
https://dagster.io/
Dagster は Asset ベースの Data Orchestration ツールになります。Asset を Python コードで定義することで、データの Lineage を見ることができたり 定期実行する Job や、イベントをトリガーとした Job の実行などを管理できるツールです。
## Dagster Univerity とは
https://courses.dagster.io/courses/dagster-essentials
Dagster University は、Dagster 公式で用意されている Learning 用のコンテンツです。チュートリアル的に手を動かして学べるのと、各章の最後に Quiz があり理解度チェックをすることができます。
基礎的な概念から実際に手を動かすパートなどあり、Dagster を使うとどんなことができるかのイメージが付きます。
## Dagster Essentialsの内容
“`
– Lesson 1: Introduction
– Les
LINE WORKS の Incoming Webhook を簡単に試してみる
https://colab.research.google.com/drive/1OIsbaznzSZldi0DwBsimIQw26ComO47G?usp=sharing
LINE WORKS の Incoming Webhook をブラウザで簡単に試せます。
Goolge Colaboratory に簡単なスクリプトを置きました。自分の環境の Webhook URL を指定すれば、すぐに実行できます。https://t.co/HG7lmXVsg4
Google アカウントでログインが必要です。#LINEWORKS pic.twitter
paizaラーニング問題集「部分和問題 2」を解いてみた(処理の流れの解説あり)
https://paiza.jp/works/mondai/dp_primer/dp_primer_partial_sums_step1
▼考え方
ポイントとなると思った考え方を、以下1.~4.に示します。
これらを踏まえて処理した結果、dp[x(=10)]に入力された数が、
重さの和が10となるようにする方法の数です。1. 入力xが10かつ、10に対して減算を行う↓
(演算のたびにリストの添え字に合わせるため-1するのは面倒なので)
dp = [0]*(11)を用意します。2. おもりiの重さの値a_iと同じdpの添え字に、1を入力します。
例:a_0が7なので、dp[7]←13. a_iとa_i以外を加算した結果と同じdpの添え字に、1を入力します。
(ただしx(=10)を超えない範囲)
例:a_1が3なので、dp[3(=a_1)]←1、dp[10(=a_0+a_1)]←14. a_iとa_i以外を加算した結果が、複数パターンある場合は、
それをdpの添え字で表現する。
例:a_0が7なので、まずdp[7]←1となる。
次に、
paizaラーニング問題集「部分和問題 1」を解いてみた(処理の流れの解説あり)
https://paiza.jp/works/mondai/dp_primer/dp_primer_partial_sums_step0
▼考え方
ポイントとなると思った考え方を、以下1.~3.に示します。
これらを踏まえて処理した結果、dp[x(=19)]に1が入力された場合、
yesとなります。1. 入力xが19かつ、19に対して減算を行う↓
(演算のたびにリストの添え字に合わせるため-1するのは面倒なので)
dp = [0]*(20)を用意します。2. おもりiの重さの値a_iと同じdpの添え字に、1を入力します。
例:a_0が7なので、dp[7]←13. a_iとa_i以外を加算した結果と同じdpの添え字に、1を入力します。
(ただしx(=19)を超えない範囲)
例:a_0が7(dp[7]==1)、a_1が18(dp[18]==1)の状態で
a_2が5なので、dp[12(=a_0+a_2)]←1▼コード
“`py
########## 処理0(準備) インプット,リスト定義など ###########n,x = map(
【目次】センチュリー・システムズMAシリーズでIoT
# 【目次】センチュリー・システムズMAシリーズでIoT
(近日公開)(MA-X320/LAD)DIを検知してプログラムを起動する
(近日公開)(MA-X3xx)内蔵eMMCから起動する=rootfsを8GBにする
(近日公開)(MA共通)SLCタイプSDカードから起動する=rootfsを8GBにする
(近日公開)(IoT共通)SMTP認証(OAuth,SMTPS)でメール送信するpython関数
(近日公開)(IoT共通)NAT配下のMAに外部からアクセスする
(近日公開)(IoT共通)ネットワークカメラをRTSPで受信し、動体検知の前後20秒分の動画を残す
AI動画解析サービスを試してみる 2
[前回](https://qiita.com/TechSavvy_24/items/62da90a5f126b4775fcc)の[Amazon Rekognition Video](https://aws.amazon.com/jp/rekognition)に引き続き、AI動画解析サービスを試してみるの2回目です。
今回は Googleの[Video AI(Video Intelligence API)](https://cloud.google.com/video-intelligence?hl=ja)を使うまでの設定とPythonスクリプトを使用した解析を実行して結果を取得し、JSONで保存してみます。
## Video AI(Video Intelligence API)とは?
詳しくは公式Webサイトを見ていただくのが一番ですが、簡単に言えばローカルにあるファイルやGoogle Cloud Storageに保存してある画像や動画に対して顔検出、テキスト検出、ラベル検出などの解析が行えるサービスです。
検出について細かいカスタマイズはできませんが、手元に解析するハード・ソ
PaSoRi RC-S300をPythonで扱う
PaSoRiをPythonで触るにはnfcpyが最もポピュラーだが、調べていくとRC−S300はnfcpyが非対応とのこと。
情報がほぼ出回っていないので、RC-S300でIDmを取得する方法を残しておく。# 環境
Raspberry Pi 4
Linux Raspberrypi 6.6.51 Debian# 使用ライブラリ
使用するライブラリはpyscardというもの。
ただ、[この記事](https://tex2e.github.io/blog/python/get-idm-from-scard)を参考に`pip install pyscard`と叩いても、自分の環境だとエラーを吐いてインストール出来なかった。どうやら手動でPC/SCの環境を導入する必要があるらしい。# PC/SC導入
[この記事](https://zenn.dev/compass/articles/39bb050bdaeaaa)のpcsc_scanの部分まで、パッケージのインストールをして動作テストを行う。各ディストリビュージョンによってパッケージの名前が少しずつ異なるため適宜調整しよう。
“`ba
paizaでPythonを使う時の備忘録(適宜更新)
# 入力
## 入力値を整数を整数に変換して取得
“`python
n = int(input())
“`
## 複数の値を取得
“`python
a,b=input().split()
“`
## 複数の値を取得し、int型に変換
“`python
n, l = map(int, input().split())
“`
## 1行ずつ配列に入れる
“`python
rounds_list = [input() for i in range(n)]
“`
## 入力の行数が不明な場合:値を1行ずつ配列に入れる
“`python
import sys
a = []
for l in sys.stdin:
a.append(int(l))
“`
## 入力で複数の値をリスト形式で取得し、int型に変換
“`python
price_list = list(map(int, input().split()))
“`
【Django】バリデーション機能の実装パターンについて
# はじめに
DjangoのFormクラスを活用することで、フォーム入力値のバリデーションを簡単に実装することが出来ます。
複雑なパターンや入力制限をカスタマイズしたい場合を除き、基本的な要素はデフォルトで用意された処理をフォームクラスで実装します。よく利用する基礎的なバリデーションパターンを記述していきます。
# 1. バリデーションの実装方法
まずはテンプレートで画面に表示するHTMLを実装します。
~~~html:html~~~
ビューでフォームクラスを呼び出して、入力値のバリデーションの結果を元に処理を分岐出来させられます。
~~~python:views.py
def check(request):
params = {
‘form’:CheckForm(),
Pythonのprint文を使ってためしてみた。(20/30)
前回からの引き続きです。
https://qiita.com/y_haruki/items/3d670f6ce0ab3e4cf115
11\. 数値と文字列の組み合わせ
“`Python
valuation = 1000000000
print(“The company’s valuation is $” + str(valuation))
“`
変数 valuationは半角英数数字が代入されているので、int型に変換されます。
print文の()内に、文字列とint型を一緒に使うとエラーとなります。
変数 valuationを一度str()型に変換してから文字列を表示させています。:::note info
※変数 valuation内に代入されているデータの確認方法は、type()関数を使います。
使い方は、type(valuation)を実行すると、データの方が確認できます。str()型:文字列に変換する関数です。
:::実行結果:
“`
The company’s valuation is $1000000000
“`12\.