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

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

PyQtGraphとmatplotlibを真面目に比較する2

[前回](https://qiita.com/Yukiho_P/items/66d15413f53941c1a569)の続きです.

# 環境
– Mac mini(M1) Big Sur
– Python 3.9.6(arm64)
– numpy 1.21.1
– matplotlib 3.4.3
– PyQtGraph 0.12.2

# 目標
 引き続きmatplotlibのグラフをPyQtGraphで描けるように頑張ります.散布図から線やマーカー,色の指定とかを調べたいですね.

# 実習
 前回同様にmatplotlibのコードをコメントに書いた後にPyQtGraphで対応するコードを記述していきます.またまた同様に以下を事前に読み込みます.

“`head.py
import numpy as np
from matplotlib import pyplot as plt
import pyqtgraph as pg

np.random.seed(876)
x = np.linspace(0, 10, 100)
y = np.cos(x)
s = np.random.r

元記事を表示

【Python演算処理】環論(Ring Theory)に立脚した全体像再構築②同値関係(Equivalence Relation)の再習

全ての計算を人力に頼るしかなかった近世までの数学の世界では、計算量削減の為に関心範囲を「**二項モデル**(Binomial Model)」に集中させる傾向が顕著に見られました。

* 「**二項定理**(Binomial Theorem)」…「**パスカルの三角形**(Pascalian Triangle)」の数式化。
[【Python演算処理】パスカルの三角形と二項定理または二項展開](https://qiita.com/ochimusha01/items/d668b19d5389b52e0dd2)
[二項定理を超わかりやすく解説(公式・証明・係数・問題)](https://rikeilabo.com/commentary-binomial-theorem)
* 「**二項分布**(Binomial Distribution))」…**ベルヌーイ試行**(結果が成功か失敗の2値で表される試行)を独立にn回行った時の成功回数を**確率変数**xとする**離散確率分布**(ただし各試行における成功確率pは一定とする)。
[二項分布 – Wikipedia](https

元記事を表示

StreamlitとTensorFlowで犬猫判定アプリを作りました

## 作ったもの

demo

アプリURL:https://judge-cat-or-dog.herokuapp.com/
ソースコード:https://github.com/oddgai/cat_or_dog/
※サーバー代をケチっているのでアプリ起動までに時間がかかる場合があります。その間に画像を選ぶなどしてください。

[MobileNetV2](https://arxiv.org/abs/1801.04381)という高精度な画像分類モデルを転移学習・ファインチューニングしたものを使っているため、精度は95%くらいだと思われます。

## どうやったか(ざっくり)

ソースコードは上記GitHubにあげているのと基本的には下記を参考にしているため、オリジナルな部分のみ書きます。

* [TensorFlow

元記事を表示

OBS Studioの仮想カメラがOpenCVで取得できない場合の対処法

# 環境
– Windows 10
– Python 3.8.7
– OpenCV on Wheels 4.5.1.48
– OBS Studio 27.0.1
– OBS Virtualcam 2.0.5

# 問題
OBS Studio組み込みの仮想カメラをOpenCVで取得しようとすると、黒い画面が表示されてしまいます。

“`python
import cv2

capture = cv2.VideoCapture(0) # 数字は環境によって異なります

while True:
ret, frame = capture.read()
cv2.imshow(“capture”, frame)
if cv2.waitKey(1) & 0xFF == ord(“q”): # qで終了
break

capture.release()
cv2.destroyAllWindows()
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5

元記事を表示

PyQtGraphとmatplotlibを真面目に比較する

# 環境
– Mac mini(M1) Big Sur
– Python 3.9.6(arm64)
– numpy 1.21.1
– matplotlib 3.4.3
– PyQtGraph 0.12.2

# 目標
 matplotlibで描いてるグラフをPyQtGraphで描けるようになる.

# 実習
 matplotlibのコードをコメントに書いた直後にPyQtGraphのコードを記述するという方式で進めます.matplotlibはオブジェクト指向で扱います.また以下のインポート文を前提とします.

“`import.py
import numpy as np
from matplotlib import pyplot as pet
import pyqtgraph as pg

np.random.seed(765)
x = np.linspace(0, 10, 100)
y = np.cos(x)
s = np.random.randn(100)/30
“`

## Artists
 [公式](https://pyqtgraph.readthedocs.io/en/la

元記事を表示

【ハッキング・ラボ⑤】ホストOSをカスタマイズする

ホストOSをカスタマイズしていきます。

## システム環境
`仮想化ソフト`:VirtualBox 6.1.0
`ホストOS`:Windows10
`ゲストOS`:Kali Linux 2020.1

## VirtualBoxのファイル共有機能の利用
VirtualBoxには、Guest Additionsというアプリケーションが提供されており、これを使用することでファイル共有を実現できます。

### ホストOSの設定
ホストOSの設定を行っていきます。

C:\shareフォルダを作成し、任意の内容を入力したsample.txtファイルを配置します。
これは共有できたかどうかの確認のために使用します。

VirtualBoxの「設定」→「共有フォルダー」から以下のように設定を行います。
hacking-lab-part5-1scikit-learnの学習結果をpickleしない

機械学習を簡単に行うための有用なライブラリの一つはscikit-learnである。
この文書では、scikit-learnの学習結果をpickleしないで済ます方法について述べる。

## scikit-learnの特徴
– 各種識別器の学習・予測・評価方法のためのインターフェースがそろえてある設計。
– 各種アルゴリズムを試して、比較しやすい。
– ドキュメントが充実している。

## 前提

– python
– scikit-learn
– pickle

## scikit-learn に欠けているもの
– scikit-learnで学習した結果を保持するための枠組みが不足している。
– そのため、sckit-learnで作った学習済みの識別器をpickleして、それをpickl.loads(pickle済みのファイル)して使ってしまうということをしてしまいやすい。

## 問題点
scikit-learn のサイトでも、pickleしたものを使うことの問題点が述べられている。

https://scikit-learn.org/stable/modules/model_per

元記事を表示

初心者がAWS Lambda + Python + LINE BotでWikipediaのタイトルをランダム送信

![iOS の画像 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1786591/b12745f0-2aa1-8183-d66d-02fd13e659e3.png)
本記事は「[いのべこ 夏休みアドベントカレンダー 2021](https://qiita.com/jugemsan/items/6c8b7324b9390a557774)」の13日目の記事です。記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません(お約束)。

# はじめに
入社から1年半が経ったが、研修修了後から全くプログラミングを触らなくなってしまった。
さすがに危機感を感じた私はここで行動に移さなければという使命感から今回このような記事を書くことにした。

## プロフィール
* 社会人1年目
* プログラミング経験ほぼなし(研修でやったことはほぼ忘れた)
* 経営学士
* サッカーやってました(幼稚園~大学)
* 最近とろろが好きになってきた

## 技術経験
入社からアプリ開発はほぼなく、データベー

元記事を表示

pythonでusbの有無判定

#pythonのwith構文を使用してusbの有無判定を行う

環境
Mac Big Sur 11.4
vs code 1.58.2
python 3.9.2

pythonでusbが刺さっている時と刺さっていない時で挙動を分けたいと思い、適当な方法で実装しました読んでくれている方の役に立てば幸いです。

##使用するusbを設定する
使用するusbの名前をTESTに変更します。尚usbの名前が違うと期待した動作をしないのでそれぞれ環境に合わせてコードも変更してください。この例ではTESTとつけて貰えば動きます。
Windowsを使用している方はファイルパスの指定方法を適宜変更してください

usb内にtest.csvというファイルを作成しておく中身は数値でも適当な文字列でもなんでも構いません

##with構文を利用してファイルをreadモードで開く

“`python:verification.py
import csv

def verification():
try:
with open(‘/Volumes/TEST/test.csv’,’r+

元記事を表示

treeコマンドもどき用のジェネレータを作ってみた

# はじめに
– Pythonでコマンドプロンプトのtreeっぽいことをやりたくなった。
– 見た目の調整部分は文字幅調整などが面倒そうなので放っておいてとりあえずフォルダやファイルの名前と深さ、ファイルかフォルダのどちらかの情報を返すジェネレータとして作ってみた。
– GUIで出力するときも階層と名前だけの出力があれば使えるので応用すれば他にも使えそうなものができた。

## できたもののコード
“`python
from pathlib import Path
from collections.abc import Generator

def tree(path: Path, nameonly: bool = True, root_nameonly: bool = True) -> Generator[tuple[int, str, bool], None, None]:
if nameonly or root_nameonly:
yield len(path.parents), path.name, path.is_dir()
else:

元記事を表示

2次元格子点に配置した原子に調和振動子型ポテンシャルを与えてルンゲクッタ法で解いてみる

# 環境
+ Mac mini(M1) Big Sur
+ Python 3.9.6(arm64)
+ matplotlib 3.4.3
+ numpy 1.21.1
+ scipy 1.7.1

# 目標
 2次元に配置した原子の格子振動を計算して熱伝導の過程を可視化したい.

# 背景
 唐突ですが皆さんのスマホは今日もカイロになってますか?スマホに限らず身の回りの電子製品は高機能化に伴って発熱量が増す一方です.半導体は昇温すると電気抵抗が低下するために,一度発熱すると発熱スパイラルに陥ります.そうすると微細な回路が溶けたり基板が焼けたりして壊れますし,リチウムイオン電池が繋がれている場合は最悪,電解液が沸騰して吹き出して引火して燃えます.
 こんな事態を未然に防ぐために発熱量の大きな電子機器には放熱機構が取り付けられます.分かりやすいのはPCのCPUにあるヒートシンクですね.空冷用のファンなんかもそうです.
 ところでCPUとヒートシンクの間に何か塗りませんか?そう熱伝導グリースとかいうやつです.厚塗りするとこいつ自体の熱抵抗で逆に放熱性が落ちますが,全く塗らないと全然ヒ

元記事を表示

pytorchによる分類の実施

##はじめに
ディープラーニングがどんなものか学ぶためにpytorchを使って分類を実施してみた。
あとはGPUでちゃんと回せるかも確認。

##環境
windows 10
python 3.8.10
torch 1.9.0+cu111

##使うデータセット
下記のサイトから。DryBeanの品種について。
種類としてはSEAKR、BARBUNYA、BOMBAY、CALI、HOROZ、SIRA、DERMASONの7種類だそう(読み方がよくわからないけど)。
ラベルの変換はエクセルで実施済。

https://archive.ics.uci.edu/ml/datasets/Dry+Bean+Dataset

##内容
### データセットの準備
“`python
import pandas as pd
import numpy as np
import torch
from torch import nn
from torch.nn import functional as F
from torch.utils.data import DataLoader
from torch.ut

元記事を表示

Chapter 1 – §02 計算・コメント

# Pythonで計算してみよう
今回から、開発環境を使って作っていきたいと思います。
自分は Pycharm を使いますが、VSCode などご自分が使われているものであればかまいません。
文字列以外は**すべて**半角小文字です。

## 簡単な計算
`1 + 1 = 2` を計算してみましょう。

“`python:1+1
print(1 + 1)
“`
を入れて実行すると、

“`python:1+1
2
“`

と出てきます。
↓ このようになれば成功です。
![6edfec388c1719b3a55ed472207399ca.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1581903/a68078c7-f34f-ff1e-136a-a613dc1c7e0b.png)

掛け算・割り算・階乗などの複雑な計算もできます。

“`python
print(6 – 4)
print(2 * 5)
print(10 / 2)
print(2

元記事を表示

flask + plotly + javascript csvグラフ化ツール プログラミング編

別記事で紹介している、**[時系列データグラフ化ツール](https://qiita.com/takenoko300/items/0c9fd56a1c1f5bffb32b)**のプログラミング内容を説明します。

# 動作イメージ
![localhost_8880 および他 6 ページ – 個人 – Microsoft​ Edge 2021-08-11 16-38-49_3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873853/338ed8c1-1d40-bb18-c76e-12a6e3956a8d.gif)

# 動作フロー
![csvグラフ化ツール.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873853/717b13d3-b276-1648-90a6-b6ed373e5eb4.png)

# フォルダ構成
アップロードしたファイルのデータ処理はPythonで行い、webブラウザ上の表示の変更などはja

元記事を表示

flask + plotly + javascript csvグラフ化ツール 概要編

収集した**時系列データ**をwebブラウザ上で簡単に**グラフ化**できるツールです。完成したグラフは**html形式で保存**することができます。
職場ではネットワークアクセスが可能な共有PCにこちらのツールを搭載して業務効率化を図っています。

内容が長くなってしまったため、**[flask + plotly + javascript csvグラフ化ツール プログラミング編](https://qiita.com/takenoko300/items/c6a599dd07015b10c9b1)**でプログラミングを掲載しています。
まずは**全体の動作イメージ**を伝える**概要編**です。

↓は動作イメージ。
![localhost_8880 および他 6 ページ – 個人 – Microsoft​ Edge 2021-08-11 16-38-49_3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873853/8e4a1110-7d71-5f04-1561-486ad50baf8d.gif)

元記事を表示

量子アニーリングのライブラリ PyQUBO を使ってみる

約一年ぶりの投稿です。このブログの存在を忘れかけていました。
最近は機械学習やディープラーニングの延長、というわけでもないが量子アニーリングのモデルについてちょっと触ってみたので、せっかくなので備忘のためその導入部分についてつらつらと記述しておきます。書かないと絶対忘れますからね。そんなわけで今回の記事は基本的には自分のためのメモです。

### 量子コンピュータの 1 ビット
– 古典コンピュータのビット: 0 か 1 の状態
– 量子コンピュータのビット : 0 でも 1 でもありという状態。これに横の回転とも言える「位相」が加わる。

### 量子コンピュータの方式

| 演算方式 | 量子ゲート方式 | 量子アニーリング方式 |
|:———–|————:|:————:|
| 用途 | 汎用 | イジング問題に特化 |
| 量子ビット数 | 65 | 最近は 5,000 位まで増えた |

| 量子を操る方法 | 超電導回路 | イオン | 半導体 | 光 |
|:———–|—

元記事を表示

Pyhtonのエラーコードを投げると解説してくれるWebアプリを作った

#はじめに
前回”Pythonのエラーコードを投げると解説してくれるSlackBotを作った話”という記事を投稿しました。
当初は学部内での使用を想定していたのですが、思ったより外から使ってみたいとの声があり、Webアプリ化しました。

https://qiita.com/ituyama/items/3b7d6e6ecb7717568be0

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509235/14ff0b12-4227-06af-7014-9836e3b5e5d8.png)

#完成したもの

http://ituyama.com/errorsearch/

#使ったもの
・GithubPages
・Bootstrap4
#画面

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509235/902aa16e-f307-a293-5e76-7da17137043a.png)

!

元記事を表示

DiscordのBotをPythonで無料で作った話

https://www.youtube.com/watch?v=SPTfmiYiuok
freeCodeCamp.orgが提供しているBot作成の動画を、自分でも試してみました。

今回作りたいBotは、このようなものです。
•通知を送る特定の人物を、テキストチャンネルからコマンドで追加・削除できる。
•ボイスチャンネルに誰かが入室すると、テキストチャンネルに、特定の人物に通知を送る。
•Magic; the Gatheringの裁定をWebページ上から取得し、それをDeepLで和訳したものを表示する。

ReplitからBotを作成することができます。

#DiscordのBot用のアカウントを作成する。
https://discord.com/developers/applications
Developer Portalに行き、Bot用のアカウントを作ります。

![NewApplication.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1851956/bdd93816-49b9-4184-9

元記事を表示

Pythonのエラーコードを投げると解説してくれるSlackBotを作った話

#はじめに
今回はSlackにPyhtonのエラーコードを投げると画像付きでエラーを解説してくれるSlackBotを作りました。(Web版もあるよ!)

http://ituyama.com/errorsearch/

![スクリーンショット 2021-08-11 14.57.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509235/526244f2-4464-144e-2499-eea26850f00f.png)
このような感じで、エラー文をBotに投げるとエラーの詳細とエラー例が画像で返されます。

https://github.com/ituyama/errorsearch

#構造
今回はGoogleAppScriptでSlackBotを作成しました。SlashCommandに反応して投げられたエラーコードを正規表現でエラーを分けて該当エラーの画像とともに返すものです。

##使ったもの
・GoogleAppScript
・Github Pages(画像置き場)
##コード
“`j

元記事を表示

memo

最近自分の中で来ているDjangoの紹介

・1
Model -template-viewパターンを採用している

Django haMMTV(model-temmplate-view)パターンと呼ばれるアキテクチャを採用しています。
MTVといえっばアプリを

  model(ビジネスロジック)
  template(見た目)
  view(出力するためのデータを準備)
という役割で明確に分離しようとしている設計モデルになっています。

アプリを構成する要素同士が明確に分かれているとこのようなメリットがあります。

/デザインとロジックそれぞれの修正が双方に影響しにくい(保守が楽)
/PGとデザイナーとで平行作業が可能
/機能単位にテストを実行できる(自動化しやすい)

Djangoの具体的に提供されている機能

・HTMLベースのテンプレートエンジン
・データベースアクセスのための基本機能&O/Rマッパー
・入力値の検証機能
・URLに応じてページを振り分けるルーティング機能
・データベース管理のために標準的なadminツール
・リクエスト共通の処理を管理するミドルエェア

元記事を表示

OTHERカテゴリの最新記事