Python3関連のことを調べてみた2021年11月30日

Python3関連のことを調べてみた2021年11月30日

平仮名<==>カタカナ 変換

応用

“`Python
chr(ord(“き”) + (ord(“ア”) – ord(“あ”))) # ‘キ’
chr(ord(“バ”) – (ord(“ア”) – ord(“あ”))) # ‘ば’
“`

元記事を表示

PyTorchでサクッとオリジナル画像分類モデルを作る【TIMM / Pytorch Image Models】

# はじめに
[kaggle](https://www.kaggle.com/)や[Nishika](https://www.nishika.com/)などのデータ分析コンペティションでは画像分類を行うことがしばしばあります。
難しいことを考えずにそれなりの精度を出すための画像分類モデルをサクッと作る方法を紹介します。

# 環境
– Ubuntu 20.04
– NVIDIA GeForce RTX 3090
– CUDA Version: 11.4
– Docker version 20.10.7, build 20.10.7-0ubuntu1~20.04.2

# Dockerイメージのダウンロード
[Docker Hub](https://hub.docker.com/r/pytorch/pytorch/tags)からご自身のCUDAのバージョンに合わせてダウンロードしてください。

## CUDAのバージョン確認方法
“`bash
$ nvidia-smi
Mon Oct 18 11:10:24 2021
+———————————

元記事を表示

アルファベット順で指定のアルファベットを「何番目」かを出力する

何度かアルファベットの取り扱いがあったので、メモとして残します。

## 1.アルファベットを変数に代入
“`
import string

alphabets = string.ascii_uppercase
alphabets
# ABCDEFGHIJKLMNOPQRSTUVWXYZ
“`

## 2.str.index()でインデックス番号を取得
“`
alphabets.index(“D”) + 1
# 4

“`

## 3.typeを調べる
“`
type(alphabets)
# str
“`

元記事を表示

Windows 10 sqlalchemy ImportError

環境
Windows10 pro
Python3.9
Anaconda3
VSCode
Sqlite3

以下のコードを実行した。
““

““

import sqlalchemy
import sqlalchemy.ext.declarative
import sqlalchemy.orm

engine = sqlalchemy.create_engine(‘sqlite:///:memory:’)

Base = sqlalchemy.ext.declarative.declarative_base()

class Person(Base):
__tablename__ = ‘persons’
id = sqlalchemy.Column(
sqlalchemy.Integer, primary_key=True, autoincrement=True)
name = sqlalchemy.Column(sqlalchemy.String(14))

Base.metadata.create_all(engine)
““

元記事を表示

sklearn1.0以降で混同行列を作成する

## 背景
これまでsklearn 0.20等で混同行列を作成する場合には、confusion_matrix関数を使用していました。
sklearn 1.0では新たに追加されたplot_confusion_matrix関数がexampleに追加されています。

ただし、plot_confusion_matrixは引数にestimator, X_test, y_testを引数に取ります。
既に予測済みの結果がある場合には、少し無駄な処理に見えます。
また、[Deprecatedに関するアナウンス](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.plot_confusion_matrix.html)も出ていることもあるため、あまり好んで使いたくありません。

## 予測済み結果から混同行列を作成する
`ConfusionMatrixDisplay.from_predictions` で作成できます。

“`python
import matplotlib.pyplot as plt
from sklea

元記事を表示

kivyMDチュートリアル其の肆什弍 Behaviors – Background Color篇

ハロー、Qiita!いかがお過ごしでしょうか。

肌寒い季節になってきましたね。まぁ時候の挨拶は来週に置いておくとして、
体調管理には気をつけたい時期となります。

ちょうど、来週からはAdvent Calendarなど始まってくると思いますが、
皆さんは参加されるのでしょうか。KivyMDにいたってはタグなどないので、
このビッグイベントには乗りませんw あったとしても1人で30日も投稿して
たら死にます。。

なので、KivyMDは相も変わらず、粛々と週1で投稿します。ということで今週
からはBehaviors章から始め、Background Color篇となります。ということ
でレッツラゴ。

## Background Color

冒頭では説明文が載っけられていますね。見てみましょう。

> The following classes are intended for in-house use of the library.

またまた難しそうな英文ですね。in-houseを検索すると「組織内の」とか「社内」の
とかが結果として出てきます。

https://eow.alc.

元記事を表示

【Python3】Streamlitで簡単にWebアプリケーション作成

#Streamlitとは
簡単に言うと、__Webアプリケーションフレームワーク__です。
Streamlitを使用する大きなメリットとしては、
Pythonスクリプトを書くだけで、__アプリケーションの構築__が可能であるということです。
Webアプリケーションを作成する場合は、基本的にはJavaScriptやhtml/CSSでフロント部分の構築が必要になりますが、Streamlitを使用すれば、__Python__のみでWebアプリケーションを作成することができます。
また、Pythonの学習のみを行っていて、フロントエンドに関する知識がまだない方や、簡単にWebアプリケーションを作成してみたいという方にお勧めです。

#インストール方法
以下のコマンドをターミナル上で実行することで、インストールが可能です。

“`
$ pip install streamlit
“`

#実際にインポートしWebアプリケーションの動きを見る
インストールが完了したら、Pythonスクリプトでコマンドを実行するだけで、アプリケーションの起動ができます。

“`py
# streamlitのイ

元記事を表示

Python3: cos類似度を計算 (ginza わかちがき)

次のページを参考にしました。
[GiNZAを使って分かち書きをしてみた話](https://qiita.com/yusa87/items/e25e2dcfb1b01fde13a4)

“`py:ginza_wakati.py
#! /usr/bin/python
#
# ginza_wakati.py
#
# Nov/28/2021
#
# ——————————————————————
import sys
import spacy

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

# ——————————————————————
def to_wakati_proc(sentence_list):
nlp = spa

元記事を表示

Python3: cos類似度を計算 (janome わかちがき)

次のページを参考にしました。
[Python, Janomeで日本語の形態素解析、分かち書き(単語分割)](https://note.nkmk.me/python-janome-tutorial/)

“`py:janome_wakati.py
#! /usr/bin/python
#
# janome_wakati.py
#
# Nov/28/2021
#
# ——————————————————————
import sys
from janome.tokenizer import Tokenizer

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

# ——————————————————————
def to_w

元記事を表示

Python 数値

#はじめに
動くコードは書けるが、基礎となる部分が曖昧だったのでまとめることにしました。
Python 3.8.2
https://github.com/Hirakawa0123/python_learning/blob/main/syntax/how_to_numbers.py
#整数
整数とは、-1,0,10などの数
小数点を含まない数値のこと
正の整数は「自然数」という

整数の計算

“`python:how_to_numbers.py
a = 10
b = 0
c = -1

ans = a + b + c
print(ans)
“`

出力結果

“`
9
“`

#浮動小数点数
浮動小数点数とは、-49.3,0.1,23.345などの数
小数点を含む数値のこと

浮動小数点数の計算

“`python:how_to_numbers.py
a = 0.1
b = 23.345
c = -49.3

ans = a + b + c
print(ans)
“`

出力結果

“`
-25.854999999999997
“`

#整数と浮動小数点数の計算
整数と

元記事を表示

Python3: cos類似度を計算 (Mecab わかちがき)

次のページを参考にしました。
[[文章生成]MeCabをインストールして分かち書きを試してみよう](https://atmarkit.itmedia.co.jp/ait/articles/2102/05/news027.html)
[文書のコサイン類似度を求める](https://tex2e.github.io/blog/python/docs-similarity)

“`py:mecab_wakati.py
#! /usr/bin/python
#
# mecab_wakati.py
#
# Nov/28/2021
#
# ——————————————————————
import sys
import MeCab
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

# ——————

元記事を表示

Python コードの書き方

#はじめに
動くコードは書けるが、基礎となる部分が曖昧だったのでまとめることにしました。
Python 3.8.2
https://github.com/Hirakawa0123/python_learning/blob/main/syntax/how_to_code.py
#ステートメントの区切り
ステートメントとは命令文の構成単位

Pythonのステートメントの区切りは、セミコロン「;」もしくは改行

“`python:how_to_code.py:how_to_code.py
a = 10; b =20; c = a + b
print(c)

a = 30
b =40
c = a + b
print(c)
“`

#ステートメントの改行
折り返す際は「\」を入力

“`python:how_to_code.py
a = 1 + 2 + 3 + 4 + 5 \
+ 6 + 7 + 8 + 9 + 10
print(a)
“`

#コメントアウトの書き方
すでにコメントアウトしてきたが、「#」を書くとコメントアウトすることができる
複数行コメントアウトする際は以下

元記事を表示

pythonでファイルの中からランダムで一つの音源をとってくるプログラム

#目的と準備
ランダムでひとつのmp3を
とってきてほしい
という願望がでてきたため

準備として
音源をまとめたディレクトリを作っておく
今回はjapanese50onという
五十音をいれたものを使った

#音声ファイルを一つとってくる
以下のサイトを参照した

https://www.higashisalary.com/entry/python-random-choice

“`
import glob
import os
import random
list=glob.glob(‘japanese50on/*.mp3’)
data=random.choice(list)
“`

このコードではjapanese50onのなかにある
mp3のファイルから一つをランダムに
とりだすということを行っています
dataのなかには相対パスで書かれた
ランダムなmp3の名前が入っています

#音声ファイルをコピーする

以下のサイトを参照した

Pythonにおけるcopyfileの利用方法について現役エンジニアが解説【初心者向け】

“`
import shutil
shutil.copyfile

元記事を表示

patchworklibを使って複数のplotを組み合わせる

# patchworklib
この記事は、[matplotlibのsubplotはもうやめたい その2](https://qiita.com/ponnhide/items/62b7e062e79b0eca6daa)の続きである。
最近、matplotlibで作ったplotを簡単に並べるためのツール[patchworklib](https://github.com/ponnhide/patchworklib)を公開した。ここではその利用法を簡単に解説する。
正直なところ、自分がmatplotlibのplotを並べるために使っていた自分用ツールを公開しているだけなので、他の人にとって使いどころがあるのかについては、あまり自信がない。。。しかし、subplotで時間を浪費している方々の役に立つのではないかと思う。  
ツールを作った経緯についてはは前の記事を参考にしてほしい。

# インストール
installは
`git clone https://github.com/ponnhide/patchworklib.git`
でgithubのレポジトリをクローンしてもらって、
`python

元記事を表示

pythonでひとつ前のtxtファイルのデータを読み取ってlistの次の要素をtxtファイルに出力してくれるプログラム

#前回

前回こういうものを作りました

https://qiita.com/akechiakechi/items/86316b7d1b872f3b5a47

#今回やること
今回は前回のプログラムを少し変えて
ひとつ前のtxtファイルのデータを読み取って
listの次の要素をtxtファイルに出力してくれるプログラムをつくります

#例えば
letter.txtの中に「あ」とだけ書かれていて
このプログラムを実行すると
50音順で次の「い」がletter.txtに上書きされる
というものです

#テキストファイルを読み込む
以下のサイトを参考にしました

https://atmarkit.itmedia.co.jp/ait/articles/2104/13/news024.html

まずコードをのせます

“`py
f = open(‘letter.txt’)
letter = f.read()
f.close()
“`
これをすることによって,letter.txtの文字を読み取って
letterの中に文字列として入れてくれます

#50音の何番目なのかを知る
以下のサイト

元記事を表示

pythonでランダムで50音の一文字をテキストファイルに出力してくれるプログラムを作ろう!!

#目的
タイトルに書いた通りの
プログラムが必要になったからです
最後の項目にいくと
コピーだけすればいいようになっているので
すぐに使いたい方は
最後だけ見てくれればいいと思います

#ファイルの出力方法
以下のサイトを参照しました

https://work-life-enj.com/python-write-text-csv/

以下のようにすると
同じディレクト内に
out.txtとしてssssと書いてあるテキストファイルが作られます
aの中身を別の文字にすると別の文字がout.txtに上書きされます

“`py
f = open(‘out.txt’, ‘w’)
a = “ssss”
f.write(a)
f.close()
“`

#リスト内からランダムに一つを選ぶ
以下のサイトを参照しました

https://www.delftstack.com/ja/howto/python/python-randomly-select-from-list/

https://www.delftstack.com/ja/howto/python/how-to-convert-a

元記事を表示

Conoha VPS (Ubuntu)にDockerでUbuntu20.04+Python3.8環境を構築する

Conoha(Ubuntu18.04)にDockerでUbuntu20.04+Python3.8環境を構築しようと思って調べた内容をまとめる。(コピペで動きます)

# imageをpull

“`sh
docker image pull ubuntu:20.04
“`

# imageを確認
“`sh
docker images
“`

# Docker imageを解凍
(ubuntu2004の部分は自由に名前を変更してください)

“`sh
docker container run -it -d –name ubuntu2004 ubuntu:20.04
“`

# image内に入る
“`sh
docker exec -it ubuntu2004 /bin/bash
“`

# gitをインストールする
“`sh
sudo apt-get install git
“`

#git clone
“`sh
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
git clone https://githu

元記事を表示

[VS Code] Pythonの venv 環境をデフォルトで読み込む

## はじめに
venv環境をactivateするときに下のコマンドをターミナルに毎回打ち込んでいたが、めんどくさくなった。

“`
.\venv\Scripts\activate
“`

VS Codeの機能を使えば自動で読み込んでくれるのではないかと思い、調べてみると案の定だった。

## 対象者
この記事は下記のような人を対象にしています。

– Python初学者

## 環境
Windows 10 home

## 結論
以下のような既存の記事を見ると解決するが、備忘録として残す。

https://tekunabe.hatenablog.jp/entry/2018/12/28/vscode_venv_default_rolad

## デフォルトで読み込まれるパス
– ワークスペースディレクトリ配下の venv など(ディレクトリ名は任意)
– 設定(setting.json)の python.venvFolders で指定したデフォルト値

“`setting.json
// Folders in your home directory to look into

元記事を表示

Python3: cos類似度を計算 (ginza)

こちらと同じことを ginza で行いました。
[Python3: cos類似度を計算 (janome)](https://qiita.com/ekzemplaro/items/f43ab16e9e4a5ba84d44)
[Python3: cos類似度を計算 (Mecab)](https://qiita.com/ekzemplaro/items/33b4067086739b109ed9)

次のページを参考にしました。
[何もない所から一瞬で、自然言語処理と係り受け解析をライブコーディングする手品を、LTでやってみた話](https://qiita.com/youwht/items/b047225a6fc356fd56ee)

ライブラリーのインストール

“`bash
pip3 install tqdm
“`

“`py:ginza_check.py
#! /usr/bin/python
#
# ginza_check.py
# Nov/27/2021
# ——————————————————–

元記事を表示

Python3: cos類似度を計算 (Mecab)

こちらと同じことを Mecab で行いました。
[Python3: cos類似度を計算 (janome)](https://qiita.com/ekzemplaro/items/f43ab16e9e4a5ba84d44)

次のページを参考にしました。
[PythonのMeCabで形態素解析!Tf-idfとCos類似度で文書の類似度を算出してみよう!](https://toukei-lab.com/python-mecab)

“`py:mecab_check.py
#! /usr/bin/python
#
# mecab_check.py
# Nov/27/2021
# ——————————————————————
import sys
import MeCab
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer

# ——————————–

元記事を表示

OTHERカテゴリの最新記事