Python関連のことを調べてみた2022年05月08日

Python関連のことを調べてみた2022年05月08日
目次

【Kaggle】Global Wheat DetectionにYOLOv5を使ってみる

# 目次
1. はじめに
2. データセットの取得
3. YOLOv5のインストール
4. データセットの前処理
5. 学習と推論
6. できるようになったこと(所感)
7. 参考

# 1. はじめに
私が身を置く製薬業界は他業界と比較して規制が強く、AIの導入についてはあまり進んでいないのが現状です。
しかし、今後は間違いなくAIの導入が進んでいくと考えています。
AIの中でも、物体検知は特に医薬品製造に有用だと感じています。

物体検知モデルを実装するスキルを習得するため、
KaggleのGlobal Wheat DetectionデータセットでYOLOv5を使用した学習を行いました。

### 1.1 Global Wheat Detection とは
「Global Wheat Detection」は画像から麦の穂の領域を検出し、その精度を競うコンペティションです(開催済み)。
[Global Wheat Detection](https://www.kaggle.com/c/global-wheat-detection)
Pythonでブロックチェーンの理解に重要なハッシュ値を出してみる。

## ブロックチェーンの理解のために
ブロックチェーンを勉強している際にアドレスという各自が暗号通貨を管理するための口座番号が出てきました。
アドレスの作成のためにハッシュ関数とハッシュ値を使っていることを知りました。

ハッシュ値の主な特徴として3つ挙げられます。
1. 関数を通したあとのデータからは、もとのデータが何か分からない。
2. どんなデータをハッシュ化しても、同じ長さのハッシュ値になる。
3. 同じデータを何度ハッシュ化しても、常に同じハッシュ値になる。

ハッシュ値の上記の3つの特徴がブロックチェーンの改ざんが大変になる要因となっているようです。
詳しくはまた記事で紹介できたらと思います。
まずはPythonでハッシュ値の特徴が正しいのか確かめてみましょう。

## 実行環境
Google Colaboratoryを使用しました。

## ライブラリ
hashlibというPythonのライブラリを使います。

## コード
“`python hash1.py
# -*- coding: utf-8 -*-
import hashlib

message = “りんご

元記事を表示

ディープラーニング入門 ~最短の物体検出体験~

# 1. はじめに
 ディープラーニング、あるいはAIとの総称で、写真に写っているものが何かを特定する技術が世界中で活躍しています。先日訪問した水族館では、スマホにアプリを登録して起動し、泳いでいる魚をカメラで捉えると、その魚の説明をしてくれるアプリを公開していました。Single shot multi-box detector(SSD)、あるいはYou only look once(YOLO)と名付けられたニューラルネットワークを利用した一例です。これに関するサイト記事もたくさんアップされていますが、ここではこの技術を実際に体験する最短の手順について紹介します。
# 2. Google Colaboratoryの起動
 Google Colaboratory(通称グーグルコラボ、短縮してコラボ)を既に使ったことがある人は、この章を飛ばして3章から見て下さい。そうでない人には、コラボの起動方法をここで説明します。まずは次のリンクからコラボを立ち上げて下さい。
https://colab.research.google.com/?hl=ja
![image.png](https://qi

元記事を表示

QuTiPでフロケ系のシミュレーション

# 概要
量子フロケ系とは、時間依存ハミルトニアン$H(t)$が時間$T$の周期を有している量子系のことです。
“`math
H(t + T) = H(t)
“`

量子系のシミュレーションパッケージである[QuTiP](https://qutip.org/)には、フロケ系のシミュレーションに必要なツールが揃っているので、それを使ってみます。

# 理論的背景
時間依存するハミルトニアン系のシュレディンガー方程式は次のように書けます。
“`math
i \hbar \frac{d}{dt} |\psi(t)\rangle = H(t) |\psi(t)\rangle
“`
この解は時間発展演算子$U(t_2, t_1)$を用いて
“`math
|\psi(t)\rangle = U(t, 0)|\psi(0)\rangle
“`
と書けます。ただし、
“`math
U(t_2, t_1):= \mathcal{T}\left[ \exp \left(-\frac{i}{\hbar} \int_{t_1}^{t_2} ds H(s) \right)\right]
“`

元記事を表示

簡単な音声認識で疑似音声通話

以前ラズパイで音声認識をしようとしたところ日本語の発声がバグって上手くいかなかったので音声ファイルの再生をすることで上手く出来ました。
動画再生・ページ検索・現在時刻・Wikipedia朗読ができます
①MP3ファイルを作成
“`py
from gtts import gTTS
from pydub import AudioSegment
from pydub.playback import play

tts = gTTS(text=”キーワード”,lang=”ja”)
tts.save(“keyword.mp3.mp3”)
play(AudioSegment.from_mp3(“hello.mp3”))
“`
※キーワードの部分は喋らせたい言葉を
 keyword.mp3は好きなファイル名を(.mp3は必須)

②音声認識
“`py
from math import inf
import speech_recognition
import pyttsx3
import pywhatkit
import datetime
import wikipedia
from gtts i

元記事を表示

PyScriptを試してみました

5月頭にリリースされたPyScriptを試してみました。(おかげでGWがかなり潰れました)

PyScriptを使って、wordleの有力手を表示するページを作成してみました。 [^1]
(とはいえ、手元PCで実行しているのは入出力くらいで、本処理はAWSのlambdaで実行しています)
~~Marqueeを使った趣味の悪いページになっているのは悪しからず~~
https://kjsnnsk0120.github.io/wordle_solver2/

[^1]: こちらの記事を参考にしました。https://qiita.com/masaka_programming/items/2afe7aa86edb85f19741

# 感想
– JavaScriptを覚えなくてもpythonでhtmlを記述できるのはかなり便利。
– 動作はかなり遅い(最初にpython実行関連をダウンロードしてコンパイルしているためだそうです)。
– Pandasなどのライブラリを入れると必要時間はさらに伸びる。
– 公式ドキュメントやサンプルが今のところかなり少ない。(当たり前)
– html上でpython

元記事を表示

PCEPに出題される範囲で間違いやすいところ

ここが忘れやすい

notation 進数

02 bin 0b
08 oct 0o
10 dec __—
16 hex 0x

power べき乗演算子の計算順序

2**3**2 = 2**9 = 512 ⇒ つまり、右から計算される
(2**3)**2 = 8**2 = 64 ⇒ ちなみに、左から計算すると値が異なる

計算したら、「.0」がつくかどうか?

1+1. => 2.0 (つく)
1/1 => 1.0 (つく)

演算子

/ 商(少数)
// 商(切り捨て)
% 余り
** べき乗(expon

元記事を表示

有限要素法の2次元アイソパラメトリック要素の形状関数による座標変換をPythonでアニメーションにした

# はじめに

有限要素法を学んでいるのですが、アイソパラメトリック要素というものが出てきて、自然座標系から物理座標へ変換する必要が出てきます。
しかし、勉強をしていて変換がとても分かりにくいという問題がありました。
そこで、変換をPythonのmatplotlibというライブラリのFuncAnimationを使用してアニメーションを作成しました。

![animation3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/54c9dae0-311f-1466-55af-40389181469e.gif)

![rasen.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/133c7cb1-59aa-b419-5b5b-0c8d279dbed0.gif)

# 座標の定義

![image.png](https://qiita-image-store.s3.ap-northeast-1.a

元記事を表示

寿司ネタを判別するウェブアプリの作成

# やりたいこと
某プログラミングスクールで、機械学習による画像識別とウェブアプリの構築を学習したので、自分が好きな寿司を題材に実践してみることにしました。
まずスモールスタートで初めて、徐々にネタの種類や精度を発展させていくことができそうな題材ということも大きいです。

# 実行環境
次のとおりです。
+ Google Colaboratory
+ heroku

#データ収集~前処理
ネットでざっと調べたのですが、icrawlerを使うと、日本語対応も含め手間をかけずにできました。
“`Python
from icrawler.builtin import BingImageCrawler #https://icrawler.readthedocs.io/en/latest/
import numpy as np
import os, cv2

def CollectSushiImage(neta):
neta_dir = “./Dataset/{}”.format(neta)
if not os.path.exists(neta_dir):
os

元記事を表示

母平均の検定 — p 値を使おう

# 母平均の検定

検定理論の細々した所は省略する。

# 2. 検定手順

例題1

「31 人の身長の平均値が 157.8 cm,不偏分散が 24.6 であった。母平均が 156.2 cm であるかどうかを,有意水準 5% で検定しなさい。」

帰無仮説 $H_0$:「$\mu=\mu_{0}$(母平均は $\mu_{0}$ である)」。

対立仮説 $H_1$:「$\mu \ne \mu_{0}$(母平均は $\mu_{0}$ ではない)」。

有意水準 $\alpha$ で両側検定を行う(片側検定も定義できる)。

母分散が既知か未知かでいずれかの方法をとる。

### 2.1. 母分散が既知の場合

母分散が既知であるというのは,ほとんどありえない。実際に使用することも稀有であろう。

なので,記述は必要ないので省略する。

### 2.2. 母分散が未知の場合

母平均,ケース数,標本平均,標本不偏分散を,それぞれ $\mu_{0}$,$n$,$\bar{X}$,$U$ とする。

例題では,$\mu_{0} = 156.2$,$n = 31$,$\bar{X} = 15

元記事を表示

fanfansym – KiCad Parts Symbol Generator

# はじめに
KiCadはフリーの素晴らしいPCB CADです。
多くのパーツがLibraryとして公開されていますが、たまたま自分が使いたいものがまだ登録されていないと、自分で作らねばなりません。
これが大きな手間で時に基板自身を書くのより、ライブラリー登録に時間がかかったりします。
特にピン数が多く、複数の機能を兼用したピンが多い、CPUではその労力はとても大きなものです。

# fanfansym.py
そこで少しでもこの手間を軽減するためにfanfansym.pyというPython programを書きました。

– LSI のpin割り当て表からpin名とpin 番号、Pinの属性を書きだす。
– fanfansym.py にこのファイルを食わす。
– \.kicad_sym を出力するので、KiCadでこれをimportする。
– シンボルエディターでシェープを整えるなど、仕上げをする。

以上で新パーツの登録ができます。
では、実際の操作を見ていきましょう。
# 動作環境
– Python 3
– KiCad 6
# pin assignを書きだす

元記事を表示

Pythonでオシロスコープ波形のタイミング解析(その2)

[前回](https://qiita.com/nachtele/items/7923f12418c067e3e57f)紹介したタイミング解析ツールについて、少し詳しく解説していきます。

# class TimingAnalyzer

## 初期化

TimAn.py の中身である class TimingAnalyzer がタイミング解析ツールの本体です。
最初に、解析設定リストを与えて初期化します。
解析設定リストを適切に作成することで、タイミング解析ツール本体のプログラムコードを変更することなく、Setup Time, Hold Time, Rise Time, etc. といった解析項目を自由に設定することができます。

“`python
ta = TimingAnalyzer(tas)
“`

TimingAnalyzereインスタンスは、下記のインスタンス変数を持ちます。

“`python
self.v = {} #現在値
self.t = {} #最終イベント時刻
self.e = {} #イ

元記事を表示

pythonで「Rによる実証分析」を読む2 推測統計の基礎

「Rによる実証分析」をpythonで書き換えながら読み進めていきます。
章によってはコード部分が少なく説明中心となっている場合もありますがご了承ください。
個人的な勉強が目的の中心となることご理解ください。

### 前回
回帰分析の基礎

https://qiita.com/tanaka_benkyo/items/0ef00d575effd2ec52f7

### 統計的仮説検定の考え方
#### 統計的仮説検定とは
統計的仮説検定とは、「統計学的な背理法」である。
一般な仮説検定の手続きは以下のようになる。

1. どれくらい低い確率であれば「現実には起こりえない」と見なすか、その基準を決めておく。この基準を**有意水準**という。
2. ある確率分布について、何らかの仮説を立てる。これを**帰無仮説**($H_0$)という。また、帰無仮説が否定された場合に採用される、もう1つの仮説を準備する。これを**対立仮説**($H_1$)という。
3. 分布から標本を抽出する。
4. 帰無仮説を正しいものとして、3で抽出した標本から得られる確率を計算する。その結果が1で決めた有意水準よりも

元記事を表示

わかりやすいグラフを描くために気をつけていること

# はじめに
普段は受託分析のデータサイエンティストとして活動しています。
データサイエンティストの定義は色々あると思いますが、私は分析レポーティングやMLOpsなどデータ分析を通じたコンサル全般をしています。

そんな私が資料作成の際に気をつけていること、その中でも今回は**グラフを描くときに気をつけていること、細かくて平凡ですが重要**だと考えていることを書いていきます。

# わかりやすいグラフの重要性
データサイエンティストの仕事とは「データを使って高度に複雑なビジネス上問題を解決する、またはそのための意思決定を支援すること」だと考えています。
この「意思決定」をする人は位が高い役職の方が多いです、そういう方は決まって忙しいです。
**そのため意思決定に使える情報を”短時間”で”正しく”伝えることがより重要になってきます**。
**その手段のひとつがわかりやすいグラフを作ることです。**

また心に響いた外資系コンサル本[^1]の一節をこちらに記載します。
>もしあなたの文章がわかりにくく、内容が先方に伝わらなければ、その内容がどんなに考察として優れていたとしても、仕事上の成果

元記事を表示

Arduinoを用いたドット絵ペンプロッタを作成する_その1

# はじめに

何か実用的な作品を作りたい、というモチベーションから、Arduinoを用いたペンプロッタを作成しました。
せっかくなので作品紹介を兼ねて、他の方の作品制作のアイデア出しのヒントになれば、電子工作を始めたばかりの方の道しるべになれば、ということで記事を初投稿していきます。

# 目次

1. [作品の概要](#Overview)
1. [おおまかな仕様](#Spec)
1. [使用する電子部品](#Parts)
1. [次回](#Next)



# 作品の概要
ステッピングモーターを使ってボールペンを固定したプロッタステージをx/y軸方向のいずれかに動かし、サーボモーターでペンを上下に動かすことで描画を行います。
ペンの打点間隔を調整することでグレースケール4諧調の濃淡表現をします。

![PXL_20220504_071252787.jpg](https://qiita-image-store.s3.ap-northe

元記事を表示

【車載動画予測×深層学習】PyTorchで実装する動画予測モデルPart1

# 概要
自動運転が実用化に近づく中、ドライブレコーダ等の車載カメラから取得できる動画像の活用は、今日ますます重要なタスクになっていると思います。当記事では、CNNやGRUを用いた予測モデルを構築し、実際どこまでできるのか検証します。
実装は以下のリンクにすべて公開しています。少々雑なコードですが、参考になれば幸いです。
[https://github.com/satolab12/PyTorch_Video_Prediction](https://github.com/satolab12/PyTorch_Video_Prediction)
以下に動画予測のシステム全体像を示します。(システムというには大袈裟ですが)

![図形 (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/583727/d13c4618-2d0b-64dd-f8aa-ca32f9731ad0.jpeg)

モデルの入力には時系列の部分動画像(シーケンス長は任意のT)とし、モデルの出力は入力に対する将来の画像(ないしは任意のシーケ

元記事を表示

pythonでゲーム作成 pygame基礎

## 仮想環境作成
“`
python -m venv game
.\game\Scripts\activate
“`
## ライブラリインストール
“`
pip install pygame
“`

## 初期化
“`python
import pygame
pygame.init()
“`
ライブラリインポートし、初期化する。

## 画面を表示
“`python
import sys
import pygame
from pygame.locals import QUIT

pygame.init()
screen = pygame.display.set_mode((600, 400))

def main():
while True:
pygame.display.update()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exi

元記事を表示

B – Exponential AtCoder

## 問題
https://atcoder.jp/contests/abc097/tasks/abc097_b

## 回答

“`Python
n = int(input())
ans = []

for i in range(1,1001):
for j in range(2,101):
if i ** j <= n: ans.append(i**j) print(max(ans)) ``` ## ポイント 冪乗の概念が理解できなかった。 1 →1の9乗 2 →2の4 3 →3の2 4 →2の2 5 →5の1乗 →冪乗数ではない 6 →6の1乗 →冪乗数ではない 7 →7の1乗 →冪乗数ではない 8 →2の3乗 9 →3の2乗 10 →10の1乗 →冪乗数ではない

元記事を表示

【Python】default scientific notation

本件ではcryptoslam.comの無料APIを使用して引用したデータをdataFrame化しています。

![Screen Shot 2022-05-07 at 14.52.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2646237/cfb3d6ec-fcbe-fb05-ac40-c0de5dc3a3fb.png)

一部加工済みですが、この中でも今回注目して頂きたいのが右2列。
![Screen Shot 2022-05-07 at 14.52.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2646237/7cb780c4-da11-31e6-fa91-d5b39e44f05e.png)

このままで良いという人も十分いると思います。
その場合は読むのをやめてください。

これを整数表記にしたい場合、以下の通り書き込んでみてください。
.0の数字は上書き可能です。
![Screen Shot 2022

元記事を表示

【Python】Selenium ChromeDriverでディズニーレストランのキャン待ちツールを作ってみた

#内容
[TDRレストランの予約](https://reserve.tokyodisneyresort.jp/restaurant/search/)ツールです.

レストランの予約はぴったり1ヶ月前の午前11時から可能になります.

ただ,予約しようと思った時には既に空きがなくキャンセルによる空き待ちをする方がほとんどではないでしょうか?

当然,いつ空きが出るかなんてわからないですよね.

だからといって24時間常にスマホと向き合ってブラウザの更新ボタンを押すわけにもいかないですよね(笑)

そ・こ・で

その**単純で長期的なめんどい作業をツール任せにしよう**というのが今回の記事の内容になります.

#システム

![system.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/377231/1169710e-87fe-9d97-1839-7b3b83a07741.png)

– Python SeleniumでChromeDriverを操作
– 定期的にお目当てのレストランの空き状況を確認

元記事を表示

OTHERカテゴリの最新記事