Python3関連のことを調べてみた2023年09月15日

Python3関連のことを調べてみた2023年09月15日
目次

pydantic.errors.PydanticUserError: If you use `@root_validator` with pre=False (the default) you MUST specify `skip_on_failure=True`. Note that `@root_validator` is deprecated and should be replaced with `@model_validator`.

# mlflowが動かなくなった。
“`
mlflow ui
“`
を実行すれば、mlflowが実行できるはずだが、以下のようなエラーがでてきた。
“`
Traceback (most recent call last):
File “/usr/local/bin/mlflow”, line 5, in
from mlflow.cli import cli
File “/usr/local/lib/python3.10/dist-packages/mlflow/cli.py”, line 683, in
import mlflow.gateway.cli
File “/usr/local/lib/python3.10/dist-packages/mlflow/gateway/__init__.py”, line 1, in
from mlflow.gateway.fluent import get_route, search_routes, query, create_route, dele

元記事を表示

【2023年9月】0円で読めるPythonの技術書5選

# はじめに
みなさん、こんにちは。高校生エンジニアの[Raio](https://twitter.com/Raio14f)です!
平日は公立高校に通いながら、放課後や休日はIT企業のエンジニアとして働いています??‍?

↓筆者について↓

https://qiita.com/Raio14f/items/ef0fb67685b36298bcb0

今回の記事では、0円で読めるPythonの技術書5選を紹介します!
無料で読む方法も紹介してるので、是非最後まで見て頂けると幸いです??

# 技術書を無料で読む方法
KindleUnlimitedを使うことで、**沢山の技術書を無料で何冊でも読むことが可能です**?

– 200万冊以上の書籍が何冊でも読み放題
– 月額980円が今なら1ヶ月無料
– 場所に囚われず、様々な端末で使用可能

勿論、技術書以外にもビジネス書や漫画など種類豊富です!

今回の記事で紹介する技術書も、KindleUnlimitedで読むことができるので是非?

**↓入会したい方は画像をクリック↓**
[![画像タイトル](https://qiita-image

元記事を表示

WindowsでPythonを使う

## Pythonをダウンロード

`Download Python 3.11.5`を押下。
https://www.python.org/downloads/

## Pythonをインストール

### ファイル実行

`python-3.11.5-amd64.exe`を実行。

### インストール実行

`Use admin privileges when installing py.exe`にチェックあり
`Add python.exe to Path`にチェックなし
のまま`Install Now`を押下。

### デバイス変更確認

`はい`を押下。

### インストール完了

`Close`を押下。

### コマンド実行

`python`ではなく`py`を用いる。

“`python
py -V
“`

## venv

“`zsh
python3 -m venv venv; source venv/bin/activate;
“`

ではなく

“`powershell
py -m venv venv; venv/Scripts/activate;

元記事を表示

AtCoder 記憶に残っている問題集(~ABC313)

:::note info
2023年9月14日現在、A問題全確認を終えて、B問題でネタ集め&順次更新中。
このレート帯での本命は C/D 問題なのでピックアップしながら同時に進めていきます。
:::

# AtCoder 記憶に残っている問題集

自分と同じ緑コーダーくらいの人向けのイメージ。自分自身も過去 ABC マラソンしながらネタ増やしていきます。
「しばらく間を空けてからでも忘れないよう復習しときたいと思えたかどうか」「記憶を消してもう一回チャレンジしたいと思ったか(解いてて楽しかったか)」を判断基準にしています。★マークはその難易度帯における学びの大きさ(主観)

+ [AtCoder](https://atcoder.jp/)(本家)
+ [AtCoder Problems](https://kenkoooo.com/atcoder/)(これとにらめっこしながらお楽しみください)
+ [AtCoder のテストケース](https://www.dropbox.com/sh/nx3tnilzqz7df8a/AAAYlTq2tiEHl5hsESw6-yfLa?dl=0)(どうし

元記事を表示

[VS Code / Python] Variable Viewer で変数に格納された値を確認する

### はじめに

こんにちは。初心者エンジニアです。

私は Matlab を使っていたので、Python 開発では似た見た目の Spyder を使っていたのですが、Git と連携をスムーズにするために VS Code を用いることにしました。

Matlab や Spyder のように、都度変数の値を確認したいので、VS Code でそれを実現する方法を調べたのでまとめます。

### 方法
1. コードエディタ上の任意の場所で右クリック
1. Run in Interactive Window の Run current File in interactive Window (対話型ウィンドウで現在のファイルを実行する) を実行
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3556456/87e5d6b6-2e1c-5b1c-f6f3-f2ce1026caef.png)
1. Interactive タブが生成されるので、Variables (変数) を選択
![i

元記事を表示

tqdmの中でprintすると表示が崩れる時の対処法

久しぶりに記事を書いてみました。
Pythonでプログレスバーを簡単に表示するためにtqdmモジュールを使用する機会がありました。
tqdmモジュールは簡単に使用できますが、printした場合に表示が崩れてしまいます。
今回はtqdm中にprintで表示が崩れないようにする対処法を備忘録として残しておきます。

## tqdmの使い方

まず初めにtqdmの使い方を簡単に紹介します。

“`Python:main.py
from tqdm import tqdm
import time

for i in tqdm(range(10)):
time.sleep(0.5)
“`

![スクリーンショット 2023-09-11 19.39.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2958368/1832b3bf-3e32-e35a-3504-c333db80bc1e.png)

試してみるとプレグレスバーが徐々に進むと思います。

## printして表示を崩す

次はプレグレスバー

元記事を表示

Attrdictをimportする時に、 ImportError: cannot import name ‘Mapping’ from ‘collections’

## エラー
Attrdictをimportする時に、
ImportError: cannot import name ‘Mapping’ from ‘collections’
(/Users/***/anaconda3/lib/python3.10/collections/__init__.py)
Output is truncated.
![スクリーンショット 2023-09-11 17.25.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/233512/3e8e7f41-ddc5-1db3-dacb-47d7e193c54b.png)

## 解決方法:
矢印(—->)マークのあるエラー文からattrdictのファイルへアクセスして、
“`
from collections import Mapping, MutableMapping, Sequence
“`
importの部分の上記のcollectionsを下記のようにcollections.abcに書き換える。
“`
fro

元記事を表示

「食パンをくわえて走る女子高生」のイラストをSketch to imageでAI生成してみた

[Supership](https://supership.jp/)の名畑です。料理漫画というのはいかに読者に味を想像させるかが重要だと思っています。でも、現在連載中の「[寿エンパイア](https://urasunday.com/title/1020)」は味が想像困難な寿司が次々と登場するものの面白い。あと、今にして思えば「[焼きたて!!ジャぱん](https://ja.wikipedia.org/wiki/%E7%84%BC%E3%81%8D%E3%81%9F%E3%81%A6!!%E3%82%B8%E3%83%A3%E3%81%B1%E3%82%93)」に登場するパンたちも味の想像なんてまったくできなかったです(そういう次元じゃない?)。

## はじめに

画像生成モデルで有名な[Stable Diffusion](https://ja.stability.ai/stable-diffusion)の提供元[stability.ai](https://stability.ai/)による画像編集ツールとして[ClipDrop](https://clipdrop.co/)というものが

元記事を表示

あるDiscordBotを導入する際に困った事と解決したこと

# これなに
・僕がDiscordのBotを導入する際に詰まった部分を日記にしたものです。
・UbuntuServer上にサービスを構築し、Systemdで常駐化させました。

## 環境
UbuntuServer22.04

### 導入方法

https://github.com/takashiTkg/voicevox_discord_bot

今回はこのリポジトリをお借りしました。
Voiceboxの読み上げをDiscord上のコメントメッセージに適用するツールです。

### 1.関連パッケージのインストール

前段階の準備としてFFmpegとDockerを準備しておく必要があります。

FFmpegは`sudo apt install ffmpeg`で問題ありませんが、
Dockerは上のコマンドでは持ってきてくれないのでソースリストに追加する形で導入します。

“`
$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release
$ sudo mkdir -p /etc/apt/key

元記事を表示

Pythonのデコレータについて

Pythonのデコレータについて、自分なりの理解をメモとして残しておきます。

#### まずは関数の性質理解
()をつけなければオブジェクトのように利用することができ、変数に入れて利用できる。
“`python
def function():
print(‘This is function’)

function
# 実行結果
# <何も起きない>

function()
# 実行結果
# This is function

print(function)
# 実行結果
#

print(function())
# 実行結果
# This is function
# None

func = function
func()
# 実行結果
# This is function
“`

#### 関数の中での関数定義
関数の中で関数を定義し、利用することができる。
“`Python
def outer_function():
def inner_function():
print(

元記事を表示

Hausdorff距離をpythonで実装してみる

## 数学的な定義
距離空間$(M, d)$内の部分集合$A, B$に対し、Hausdorff距離$d_H(A,B)$は数学的に
$$
d_H(A,B):=\max(\sup_{a\in A}\inf_{b\in B}d(a,b), \sup_{b\in B}\inf_{a\in A}d(a,b))
$$
と定義されます。無論 $d(a,b)\in\mathbb{R}$ for $a,b\in M$です。

## pythonで簡易実装
初見で何のことやら??という感じだったので、試しにカンタンなデータでpythonプログラムを書いてみることにしました。
数学的な定義では、$\inf, \sup$が使われていましたが、プログラムで試せるのは言っても有限個の点ですので、それぞれ$\min, \max$と読み替えていいです
($\inf, \sup$を使う場合は、その最小っぽい点や最大っぽい点を実現していなくても値は定まるよね、みたいな時に便利っていう感じですね。例:$\sup_{a\in [0, 2)}a^2=4$のように、$a^2=4$を実現するのは$a=2$ですが、残念ながら区間$

元記事を表示

【Keras】【TensorFlow】教師あり学習fitの「batch_size」の技術検証

# 検証を行うきっかけと目的

 同じデータや内容のAIの作成を行う場合でも⓵どの端末で行ったか⓶学習の変数の一つである「batch_size」が違うだけで大きく結果が異なるように見えたため。端末ごと、batch_sizeごとにどのような影響があるか検証する。

 上記の⓵と⓶以外は前回の下の記事をそのまま流用している。
AIチャレンジ1(天気予報)
https://qiita.com/horiivalue/items/639e2e9c8b83c8d4886a

# fitの変数「batch_size」とは?

 そもそも、この「batch_size」は何を算定しているのか?
以下のQ&Aなどを参照してまとめてみると以下のようになる。
⓵kerasのbatch_sizeについて(分からない)
https://teratail.com/questions/191679
⓶Kerasのドキュメント
https://keras.io/ja/models/model/#:~:text=batch_size%3A%20%E6%95%B4%E6%95%B0%E3%81%BE%E3%81%9F%E3

元記事を表示

Python3でBase64エンコードした際の型の扱い

# Python3でBase64エンコードしたときに微妙にはまった話

## 環境

– Ubuntu 18.04 on Hyper-V
– Python 3.6.9

##

よくありがちなこんな感じのコード

“`python3
json.dumps({“hoge”: base64.b64encode(“poyo”.encode())})
“`

<dict>{<str>: <str>} だからきっと通るだろうと思うと実行時にエラーになる。

“`
TypeError: Object of type ‘bytes’ is not JSON serializable
“`

bytes型になってる?どこが?ということで調べてみるとどうも base64.b64encode() はbytes型で返ってくるらしい。
つまり<dict>{<str>: <bytes>}なのでダメ、と。
それならbytesをstrに変えてあげればいいのだけれど、はてどうしたものかと。
ということでいろいろ試してみる。

“`pyt

元記事を表示

大容量データもサクサク動くPlotly!「plotly-resampler」で楽々高速化!

# 1. はじめに

Python のプロットツールとして、matplotlib の代わりに、下の図のようなブラウザ上でぐりぐりと操作できる [Plotly](https://plotly.com/python/) が便利で使うことが多いのですが、
![defo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3130775/b0e40d71-3962-d157-ae5b-4f9482732b21.gif)
大容量データを一度にプロットすると、非常に重くなるのが気になっていました。

これまで描画のときだけデータを粗くするなど工夫してきたのですが、毎回大変なので、なにか便利なものはないかなーと探していたら、よいカスタムライブラリを見つけたので、この記事で紹介したいと思います!

https://github.com/predict-idlab/plotly-resampler

# 2. 通常のプロットサンプル

まず、比較のために、1000万のサンプルデータを作成して、通常の方法で Plotly でプロ

元記事を表示

Python 3 エンジニア認定基礎試験の資格勉強方法

一般社団法人Pythonエンジニア育成推進協会のPython 3 エンジニア認定基礎試験に2023年1月に合格したので、勉強方法を共有します。

# 試験概要
概要としては以下2つがわかりやすくまとまっている。

https://www.pythonic-exam.com/exam/basic

https://www.wata-ridley.com/entry/certified-test-python3

# 勉強方法
試験概要にて記載している公式サイトにて試験範囲や学習方法等ひと通り記載してあるのでおすすめ。

## 教科書
試験公式サイトの出題範囲のところに本の版数やPythonのバージョンが記載されているので確認したほうがよい。本とWEBともに内容は同じなので好みの方で学習できる。
* Python公式のチュートリアル
* オライリー・ジャパンの「Pythonチュートリアル」

https://docs.python.org/ja/3/tutorial/

## 問題集
PRIME STUDY

元記事を表示

CustomVisionサンプルテスト

## 目的
#### 受信した注文書の自動仕分け

## 今回は・・
これです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/448426/2afee57c-6bfb-eff7-9f52-2eae50e5fbca.png)
### 参考:CustomVisionのトレーニングが失敗したら・・

https://jpaiblog.github.io/blog/2022/03/25/how-to-troubleshoot-custom-vision-training-issue/

参考サイト:

https://jpaiblog.github.io/blog/2022/03/25/how-to-troubleshoot-custom-vision-training-issue/

## 前処理:画像の変換
フォルダ内のbmpファイルを全てpngファイルに変換後、出力
*chatGPTでプロンプト→OK

“`bmptopng.py
import os
import sys
from

元記事を表示

quiverでもうイライラしないために (Matplotlib)

matplotlibでベクトルを描く時,ベクトルの長さ調節が面倒くさくて気が滅入ってしまうので,その小技を日本語にしておく.

参考リンク
[how to use matplotlib quiver scale – Stack Overflow](https://stackoverflow.com/questions/34025306/how-to-use-matplotlib-quiver-scale)

“`python3
q = ax.quiver(x, y, u, v)

q._init()
print(q.scale)
# 1.1610226806616049
quit()
“`

`ax`はMatplotlibの[axisインスタンス](https://matplotlib.org/stable/tutorials/introductory/quick_start.html#sphx-glr-tutorials-introductory-quick-start-py).`quiver`はベクトル描画のメソッド(詳細は[本家](https://matplotlib.org

元記事を表示

pip install win32guiでエラーが出てインストールできないときの対処法

# win32guiのpip installができない
“`pip insall win32gui“`でwin32guiをインストールすると以下のようなエラーがでてインストールできない。
“`
Collecting win32gui
Using cached win32gui-221.5.tar.gz (605 kB)
Installing build dependencies … done
Getting requirements to build wheel … error
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.

<中略>

ModuleNotFoundError: No module named ‘win32.distutils.command’
note: This error originates from a subprocess, and is likely

元記事を表示

discord.pyでエコーBotを作る(message.contentが空になる問題も解決)

# 参考にした記事
https://gafuburo.net/how-to-discordbot/

https://qiita.com/Nnse/items/0c131023f07828449090

# この記事を書いたモチベーション
DiscordのAPIに以前パーミッション回りの変更があったらしく、
ググって見つかった記事だと、その辺りの取り扱いが古いやり方になっていたので、
令和5年最新版のやり方を残しておきたいというのが理由です。

# 1) アプリケーションの作成
https://discord.com/developers/applications
にアクセスして、New Applicationのボタンをクリックする

![1_New_Application.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184997/699b2d36-1381-0756-a082-29beeb4e5fb4.png)

# 2) アプリケーションの名前を入力する

![2_Create_An_Applic

元記事を表示

顔認証システムを評価する方法

マイナンバーカードのような顔認識ソフトを評価する方法

## 次の形で定義する関数を評価する

evaluate(img_camera,img_card)

入力
>img_camaera: カメラで撮影した画像データ
>img_card: カード内に保管された画像データ

出力
>True: カメラとカードの人物は同一
>False: カメラとカードの人物は異なる

## 比較に使う関数

1) evaluate00
常に、False を返す

2) evaluate01
10回に1回は True を返し、9回は、False を返す

3) evaluate02
10回に2回は True を返し、8回は、False を返す

4) evaluate03
10回に3回は True を返し、7回は、False を返す

5) evaluate04
10回に4回は True を返し、6回は、False を返す

6) evaluate05
10回に5回は True を返し、5回は、False を返す

7) evaluate06
10回に6回は

元記事を表示

OTHERカテゴリの最新記事