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

Python関連のことを調べてみた2021年10月29日
目次

docker-seleniumでSelenium Grid 4の新機能Dynamic Gridを試す

Selenium 4のリリースとともに、
Selenium Grid(以下Grid)もver4にメジャーアップデートされたので新機能を試してみました。

## Selenium Gridとは

> Selenium Grid allows the execution of WebDriver scripts on remote machines (virtual or real) by routing commands sent by the client to remote browser instances. It aims to provide an easy way to run tests in parallel on multiple machines.

https://www.selenium.dev/documentation/grid/

GridはWebDriverスクリプトの実行リクエストを、接続されたクライアント上のブラウザインスタンスに振り分けてくれるサーバです。ロードバランサのイメージが分かりやすいかと思います。主にはテストの並列実行などに使います。

#

元記事を表示

【勉強メモ04】データの前処理をしよう

#はじめに
今回記事作成者の機械学習の勉強&メモのために記事を作成しています
間違いなどありましたらコメントにてご指摘いただけると幸いです。
Pythonで必要なライブラリーを呼び出しましょう。
(魔法の言葉みたいなものです。)

“`
#Pythonでグラフを描画するためのライブラリ
import matplotlib.pyplot as plt

#Numerical Pythonを略してNumPy 数値の計算や行列を扱うためのライブラリ
import numpy as np

#テーブル型のデータを処理するためのライブラリ
import pandas as pd

# データ可視化のライブラリ
import seaborn as sns

#最大表示列数の指定(ここでは100列を指定)
pd.set_option(‘display.max_columns’,100)

# floatの表示方法を、小数点以下2桁で設定する処理
pd.options.display.float_format = ‘{:.2f}’.format

“`

#データセットを呼び出す

分析したいデ

元記事を表示

【勉強メモ03】予測モデルを構築しよう

#はじめに
今回記事作成者の機械学習の勉強&メモのために記事を作成しています
間違いなどありましたらコメントにてご指摘いただけると幸いです。

#予測モデルの準備を使用

“`
#Pythonでグラフを描画するためのライブラリ
import matplotlib.pyplot as plt

#Numerical Pythonを略してNumPy 数値の計算や行列を扱うためのライブラリ
import numpy as np

#テーブル型のデータを処理するためのライブラリ
import pandas as pd

“`

# データセットを用意する

データの前処理などはされていることを前提にモデルを構築していく

“`
#データセットの読み込み
#train.csv → 呼び出したいファイル名を入れてください。
dataset = pd.read_csv(“train.csv”)

“`

# 目的変数と説明変数の設定をする

“`
#目的変数(予測したい値を1項目入力する)
target_col = “price”
#説明変数(予測するのに使用する項目を入力する)
feat

元記事を表示

Lightning Flashで物体検出モデル作成Any%RTA

## はじめに

どうもこんにちは、PSの村上です。昔[物体検出モデルのデーモン化](https://qiita.com/r-murakami-ps/items/0ec74bdd31515a8ba0fe)で記事を書いた人です。
最近職場用に桃軸のキーボードを*my new gear….*しまして、打鍵感が気持ち良すぎて1秒ごとに気絶しています。
そんな感じで現在もAIの研究開発に従事しているわけですが、その過程で[Lightning Flash](https://lightning-flash.readthedocs.io/en/latest/)なる素敵なライブラリに出逢ったので、使い方の覚え書きを残しておこうと思います。

簡潔に説明すると、「画像分類や物体検出などの各タスクに対応したクラスにパラメータとデータセットを渡すだけで、PyTorch Lightningで必要な実装を8割くらい肩代わりしてくれるライブラリ」です。

自由度の高さゆえに使い手の個性が強くなりすぎるPyTorchを、Lightningが適度な制約で整理して、さらにFlashによって実装が簡潔で高速になったわ

元記事を表示

【勉強メモ02】Pythonでデータの可視化をしよう

#はじめに
今回記事作成者の機械学習の勉強&メモのために記事を作成しています
間違いなどありましたらコメントにてご指摘いただけると幸いです。

#可視化の準備をしよう

Pythonで必要なライブラリーを呼び出しましょう。
(魔法の言葉みたいなものです。)

“`
#Pythonでグラフを描画するためのライブラリ
import matplotlib.pyplot as plt

#Numerical Pythonを略してNumPy 数値の計算や行列を扱うためのライブラリ
import numpy as np

#テーブル型のデータを処理するためのライブラリ
import pandas as pd

# データ可視化のライブラリ
import seaborn as sns

#最大表示列数の指定(ここでは100列を指定)
pd.set_option(‘display.max_columns’,100)

# floatの表示方法を、小数点以下2桁で設定する処理
pd.options.display.float_format = ‘{:.2f}’.format

“`

#データセッ

元記事を表示

PK以外のフィールドを選択肢に選択フィールドを作成する場合 ChoiceFieldではなくModelChoiceFieldのto_field_nameを使用する。

## ModelChoiceField
Djangoではクエリー結果をフォームフィールドの選択肢に使用するための ModelChoiceField が用意されている。
例えば下記の様に queryset引数にクエリー結果を渡すと選択肢の値にはMemberモデルのPKであるidが使用され、表明にはモデルの\_\_str\_\_メソッドの戻り値が使われる。

“`python
class Member(models.Model):
id = models.AutoField ( primary_key=True )
name = models.CharField ( max_length=32 )
email = models.EmailField( max_length=200, null=False, unique=True)
def __str__(self):
return self.name

class SearchForm(forms.Form):
email = forms.ModelChoiceField(querys

元記事を表示

【Python】Selenium 4で、Selenium 3の書き方で書いたらWarningが出た

# はじめに
pythonでseleniumの使い方を学習していたら、Warningが出てきたので、調べてみると、自分がつかっているseleniumが4でした:sweat_smile:

selenium 4だと、書き方が多少異なるようですので、備忘録として残したいと思いました。

– PC: M1 Mac book Air
– OS: Big Sur ver11.6

# DeprecationWarning: executable_path has been deprecated, please pass in a Service object

“`python
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

s = Service(‘/Users/ds/work/py_lesson/tools/chromedriver’)
driver = webdriver.Chrome(service=s, options=options)

drive

元記事を表示

condaを使う際に利用するコマンド一覧

#概要
condaはAnacondaで使える環境作成等が行えるコマンドです。また、Anacondaを利用する場合、ツールとして「Anaconda Powershell Prompt」と「Anaconda Prompt」があります。

■「Anaconda Powershell Prompt」と「Anaconda Prompt」の違い
・Anaconda Powershell Prompt ⇒使えるコマンドが増えている?
・Anaconda Prompt ⇒従来のコマンド環境

image.png

ただし、Powershellでcondaコマンドを使うにはいろいろと設定が必要なようですので、conda環境を初心者が使いたい場合は、迷わず「Anaconda Prompt」を使ってください。
※以下コマンドを入力す

元記事を表示

希少カテゴリを取り扱えるようになろう(図解あり)

# はじめに
 今回は希少カテゴリについて取り扱っていきたいと思います。図解をメインに説明をしていくためコードは今回付属させていません。今回の記事を参照し、やりたいことを毎回調べていくと自然と書けるようになると思います。そもそも希少カテゴリとはなんじゃという方もいらっしゃると思うので今回は希少カテゴリについても説明していきますが、「訓練データ」「評価データ」とは何かをわかっている前提で進ませていただきます。もしわからない方は[こちら](https://qiita.com/MANGATA/items/5c2d71539d7d58e43f8b)を参照してください。
 では初めていきましょう!!

# 希少カテゴリとは
 希少カテゴリとはそもそもカテゴリデータにおいてのみ起こり得ます。カテゴリデータとは例えば「性別」になります。カテゴリデータに関して詳細な記述はしませんが、まあ「性別」を意識して貰えばokです。
 では希少カテゴリとはなんでしょうか。これは**「訓練データには存在しないカテゴリ」**が**「評価データに存在している」**という状況によって生まれるものです。つまり、そのカテゴリ

元記事を表示

straight skeleton (scikit-geometry 利用)

こんにちは。
[straight skeleton](https://en.wikipedia.org/wiki/Straight_skeleton) を描いてみました。[scikit-geometry](https://scikit-geometry.github.io/scikit-geometry) を利用しています。

用途として、例えば河川の両岸形状を与え、その中心線を求めるなどです。

skeleton

“`console
$ brew install cgal pybind11 python3
$ pip3 install matplotlib
$ pip3 install git+https://github.com/scikit-geometry/scikit-geometry.git
$ .

元記事を表示

【個人用メモ】Pythonよく使うモジュール機能まとめ


Pythonでよく使うモジュールとかメソッドをまとめまた個人用メモです。
※随時更新予定です。

これ便利だぜとか、こうすればもっと効率的だぜってのがあったらコメントお願いします。

#目次
|モジュール|カテゴリ|内容|
|:–|:–|:–|
|[BeautifulSoup](#bs4)|スクレイピング|[ページのテキスト情報全取得](#ページのテキスト情報全取得)|
|||[ページのリンク全取得](#ページのリンク全取得)|
|[pandas](#)|df操作|[df作成](#df作成)|
|||[dfの差分比較](#dfの差分比較)|
||csv操作|[dfをcsvに保存](#dfをcsvに保存)|
|||[csvを読み込んでdf作成](#csvを読み込んでdf作成)|


#BeautifulSoup[↑](

元記事を表示

ビデオ会議中、家族が部屋に入ってきて映り込んだー!を解消

##作ったもの
– 部屋に入る前にWebカメラがONになっているか確認する仕組み
– (Windowsでしか動きません。ごめんなさい。)

## 使い方

– (部屋のドアにはったNFCにスマホをかざす) OR (部屋のドアに貼ったQRコード[URL]をスマホで読み込む)
– WebカメラがONになっているか否かがスマホの画面にでる

## 使ったツール
1. Python (Flask, winreg)
1. ショートカット(iOS)
1. NFC
1. QRコード

## 仕組みの大枠
1. Webカメラを使うPC上で、PythonのWebサーバーを立てる(IPアドレスは固定しておく)
1. 部屋に貼ってあるNFCもしくはQRコード読み込んで、PCのWebサーバーにアクセス
1. Pythonで、レジストリを読み込み、Webカメラがオンになっているかを判定した結果を返す

## 作り方
– python環境にFlaskを入れる

“`bash
pip install Flask
“`

– [こちらのスクリプト](https://gist.github.com/KODOM

元記事を表示

仮想環境のJupyter上で異なる仮想環境のカーネルを使う

#概要
* Jupyter labを立ててる仮想環境上で、違う仮想環境のカーネルを使う

作業環境

>* python3.8
>* venv
>* Windows PowerShell(基本的なコマンドは環境で変わりません)

#はじめに
カーネルを追加する際に、ちょっと戸惑ったので備忘録として残しておきます。
どのサイトも割と`pip`で`ipykernel`を追加する記載しかなかったので、初めての人向けに紹介したいと思います。

参考サイト
>* [Jupyter Notebookでカーネルを増やそう](https://qiita.com/SaitoTsutomu/items/a3d27a2de1ff3e762771)

#メイン
まずは、新たにカーネルを追加した仮想環境上で`jupyter`をインストールします。
`jupyter`をインストールすると`ipykernel`も入ってるので、個別にインストールする必要がなくなります。
また`ipykernel`だけインストールしても、もちろんエラーを吐くので、個人的には`jupyter`のインストールだけのほうが楽ですね。

元記事を表示

FastAPIで作るWebアプリ

PythonでAsyncioを使った非同期的プログラミングを追求してきた結果、FastAPIにぶつかりました。Python界においてはモダンなWeb Frameworkということで人気のようです。少し調査していきたいと思います。

【過去記事】
[Python Asyncio入門](https://qiita.com/sand/items/0e445a13d81d20ea33c3)
[Aiohttpで作るSimple Web Server – Qiita](https://qiita.com/sand/items/971c851598ff59c1c905)
[Starletteで作る Simple Web Server – QIita](https://qiita.com/sand/items/dd622ce4f9249399974c)

[FastAPI 公式サイト](https://fastapi.tiangolo.com/ja/)

以下の情報は公式サイトのチュートリアルの最初のステップを短くまとめたものです。

# 1.ハローワールド

インストールは以下のコマンドだけで

元記事を表示

[python/boto3] Amazon Athenaの同時実行数制御のため、実行中件数を取得してみた

Amazon Athenaは素晴らしいサービスです。
もうSQLはAthena以外では書きたくない。。。

だって、index貼らなくていいし、重い重い処理かけてもDBサーバーごと落ちたりしない(注意:タイムアウトはあります。)から、効率考えずに書きたいクエリをかける!
MySQLだと、2000万件とかセレクトしに行ったらどうしよう、とか。
スロークエリになって他の処理に影響与えてしまわないかな、とか。心配事が尽きないです。。。

その点、Athenaはインフラのリソース気にしなくてクエリ投げ放題なんて、天国のSQLです!!
だから、ぜひ、使い倒したいところです。

ただ、同時実行数がデフォルトだと、たった20しかありません!(BigQueryは100なのに!上限解除もできるみたいですが)
だから、実行しようとした時に、20以上動いていたら、StepFunctionsとかでWait処理かけたいですよね?

その時に使える、boto3で実行中のクエリ数(State = Queued , Running)を取得するコードを書きました。Queuedも一応入れときました。
2

元記事を表示

【M1 Pro / Max】新型MacBook Proのインプレと環境構築についてまとめてみた

# はじめに
Windows一筋20年の私ですが、この度心変わりして新型MacBook Proを購入しました。

話題性の高い製品のため、購入を迷われていたり、購入後の環境構築に苦戦している方も多いと思うので、**インプレと環境構築**について記事にまとめました。
![スタバ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/c8052bf8-b0fd-aef7-bd74-d976984c0279.png)
特に**[Python](https://qiita.com/c60evaporator/items/71a84e198fa078a4f956#python環境構築)と[Dockerの環境構築](https://qiita.com/c60evaporator/items/71a84e198fa078a4f956#docker環境構築)については現状でのベストプラクティス**を目指して記事を書いたので、**M1 MacBook Air/Proユーザも含めご一読頂ければ**と思います。

##

元記事を表示

【機械学習初心者】新型コロナウイルス第6波をSARIMAモデルにより時系列分析してみた

#はじめに
 Aidemy Premiumにて「データ分析3ヶ月コース」を2021/09/27より受講しています。

##自己紹介
 新卒で5年ほど客先常駐のSEとして働いてましたが、以下のような理由から受講を決めました。

– AIの台頭や外国人労働者の増加などでいま私のしている仕事が10年後も続けられる保証はない。
– 今の自分のスキルセットで転職を希望しても結局似たようなSES企業にしか転職できないと思った。
– 以前からデータ分析分野に興味・関心があり、データ分析、機械学習、Pythonをしっかりと学びたいと思った。

##環境
– OS: Windows10
– CPU : AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz
– メモリ: 8GB
– python環境:Jupyter Notebook
– Python ver : 3.8.11

##ファイル構成
“`
MyNotebook-
|-Predict_covid19.py(

元記事を表示

【クラス内関数のselfがクラス変数として扱われない⁈なんで??】ってなった時に読むやつ

# 回答

単刀直入に言えば、__インスタンス化していない__のが原因です。

# 解説

例えば、こんな感じでutilっぽく複数の関数を一つのクラスにぶら下げる形でまとめているとします。
(ここで違和感を感じたあなたはもうこの記事を読む必要はないですね笑)

“`py
class SomeClass:
def say_hi():
print(‘hi’)

def output_arg(var1):
print(var1)
“`

さて、ここで下記のコードを実行したらどんな出力になるでしょうか。

“`py
SomeClass.say_hi()
“`

答えは「 hi 」ですね。
ただ、このコードにかっこを加えたこのコードを実行したらどうなるでしょうか?

“`py
SomeClass().say_hi()
“`

答えは__エラー__となります。

この()がつくことによる違いの理由は__インスタンス化しているかどうか__にあります。

一番上のコードをお見せした時に感じてほしい違和感の正体にもつながってきますが、
クラスは

元記事を表示

djangoでの動的urlの取り扱いについてまとめてみた

本日のお題

今回はdjangoアプリでの動的urlの取り扱いについてまとめます。

動的urlとは、その時々の状況によってurlの一部もしくは全体が変化するようなもののことです。

viewsにパラメータを渡すためにurlの一部にレコードのidを混ぜ込む場合などが代表例ですね。

今回は例として/myapp/delete/xx(xxにはレコードのidが入る)というurlを動的に作成し、そこにリクエストを送ることでそのレコードが削除されるようにしてみたいと思います。

目次

– urls.pyの編集
– views.pyの編集
– テンプレートの編集

urls.pyの編集

動的urlを使ってレコードを削除するために編集する必要があるのは、urls.py、views.py、テンプレートの三箇所です。

まずはurls.pyを編集し、delete/xxへのリクエストでレコード削除の関数が呼び出されるようにします。

“`python:urls.py
urlpatterns = [
path(“delete//”, views.myapp_delelte,

元記事を表示

ViTで櫻坂メンバーの顔分類をやってみた

最近流行りのTransformerを試してみたいと思ったので、keras版のViTパッケージを使って櫻坂メンバーの顔分類をやってみた記録です。

# 環境
GCP Jupyter lab GPU T4
python: 3.7
tensorflow: 2.6.0

# 画像データ
[コチラ](https://qiita.com/okateru/items/6f9daf1094ef8c2d6d68)で作成した櫻坂メンバーの顔画像データセットを使います。128×128で11331枚のデータセットです。クラス数は25クラスです。

# 必要なものをインポート

“`python
import numpy as np
import cv2
import os
import matplotlib.pyplot as plt
import tensorflow as tf
import tensorflow_addons as tfa
from tensorflow.keras.layers import *
from tensorflow.keras.models import Model,

元記事を表示

OTHERカテゴリの最新記事