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

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

pip uninstall all

pipでインストールしたものを全て消す。確認も省略しているので要注意。

“`bash
pip freeze > freeze.txt; pip uninstall -y -r freeze.txt; rm freeze.txt
“`

元記事を表示

au のガラホ(KYF36)がほぼ壊れてiPhoneに機種変更したが、電話帳のインポートはそのままでは無理だった

# 機種変更した経緯
ガラホ(au KYF36)の充電が出来なくなり、ヤバイと思い急遽 au Shop でのプラン変更で ESIM して iPhone SE2 に機種変更した。

## 機種変更前にやっとくべきだった。。
ガラホの電話帳を移行する前に切り替えてしまったので au お預かりサービス等使用できずにスムーズに出来なかった。

## 元端末の電話帳エクスポート
色々な充電ケーブル挿したがすべて反応せずでしたが、ケーブル挿す場所に「フッ!!」って息を吹いたら充電できるようになった。
(ってかこれで充電できなかったら電池足りなくて終わってました。。。。。。

サポートツール(安心安全なんちゃら)を使用して電話帳データをSDカードにエクスポートしました。

## データフォーマット
vCard を想定していたのですが、 json でした。。。。
部分抜粋です。
(グループは無視してます)

“`sample.json
[
{
“accountName”: “Contacts”,
“accountType”: “jp.kyocera.localcontacts”,

元記事を表示

Pythonでリーマンのゼータ関数を動的にプロットしてみた

リーマン予想に興味ある人向け。

# やったこと

リーマンのゼータ関数を対称形($f(s)=f(1-s)$)になるように変形した関数
$\xi(s)=\pi^{-\frac{s}{2}}\Gamma\left(\frac{s}{2}\right)\zeta(s)$
をプロットしている。

$Re(s)=\frac{1}{2}$付近を、$Im(s)$を時間経過にしたがって増加させて$\xi(s)$の実部と虚部をプロットしてみた。(クリティカルラインを上っていくイメージ)

# ソースコード

## 実部と虚部を同じエリアにプロットするバージョン

“`py
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import _pylab_helpers
import mpmath
mpmath.mp.dps = 12

def zeta_re_im(re_list,im):
z_re = np.zeros(len(re_list))
z_im = np.zeros(len(re_list

元記事を表示

pygameにおける動画再生方法(既存のウィンドウを使用する場合)

# 目次

[1. はじめに](#1-はじめに)
[2. モジュールのダウンロード](#2-モジュールのダウンロード)
[3. サンプルプログラムの準備](#3-サンプルプログラムの準備)
[4. 動画再生コードの追加](#4-動画再生コードの追加)
[5. おわりに](#5-おわりに)

# 1. はじめに
pygameにおいて動画を再生する方法を記載します。
劇中ムービーのように新規ウィンドウを開かずに既存のウィンドウで動画を再生することを想定しています。
pygameにおいて動画再生は音と別々の再生になるため、あまり向いていませんが自分なりにコードができたので公開します。
修正点等あればご指摘いただきたいです。

# 2. モジュールのダウンロード
Python版OpenCVを使用するため、最初にインストールを行います。
OpenCVとは、Intelが開発したオープンソースの動画や画像を処理するライブラリです。

“`python:インストール
pip install opencv-python
pip install opencv-contrib-python
“`

#

元記事を表示

pythonでプロット用のデータを事前計算してバイナリでファイル出力しておく&読み込んでプロットする

# アイデア

プロット用のデータを毎回計算すると時間がかかりすぎるため、事前計算しておきたい。
そこで、バイナリファイルに書き出すようにしてみた。

– 複素数関数の、引数の実部と虚部をそれぞれ等差的に変化させたときの格子点に対しての、関数の値の実部と虚部をdouble型で格納。
– 複数の関数を組み合わせて追加計算したい場合を想定して、複数の関数を同じファイルに格納。

“`text:データ構造のメモ書き
ascii4 “PLOT”
uint2 format version info
uint2 number of functions
uint4 stepcount of x(real part) of numpy.linspace(,,*)
uint4 stepcount of y(imag part)
ascii128 description of func[0]
ascii128 description of func[1]
:
ascii128 description of func[n-1]
double start x of numpy.linspace(*

元記事を表示

[pandas]辞書<->pd.DataFrame変換をていねいに書いた@値の区切り文字処理

# 要約
区切り文字を抜いて全紐づけパターンを出力する処理を書いた!動いた!
とは言え、辞書型変換を雑スクラッチしてしまった感が強く残った。
その後にもっと良いやり方(諸説あり)を知ったので修正。

学びの備忘録として残す。
一応公開しています。
https://github.com/gmoriki/rm_delimiter

# 実装の背景
Scivalから提供されるExcelデータに区切り文字が使用されていることが多い。
例えば一つの論文に紐づく著者3名の固有IDが、以下のような形式の値で格納されている。

例:`”10000 | 20000 | 300000″`

この状態で固有IDと別の情報をマージすることは困難であり、部署内の利用者はうまいこと区切り文字を処理してきた。今後同じような事態(車輪の再生産)を避けるために、今回は区切り文字を排除した上でExcelデータに再出力する、比較的汎用的なプログラムをPythonで書こう、と思い至った。

### 読み込みテーブル
`key`,`target`という列名を含むExcelデータを用意する。
| key | target

元記事を表示

Transformerの基本

# はじめに
今回はTransformerで使用されている技術についてまとめておきます.
初めは自然言語処理に用いられていた構造ですが,画像分野でも大活躍中です.
なかなかとっかかりにくい分野ですが,単純なDeepLearning は一通り学べたという人は是非Transformerについて勉強しておきましょう:heart_exclamation:

今回はPowerPointの画像をペタペタ+αちょこっと説明という形式です.

# 1 Attention
下図のような?の画像があったときに人は背景を無視して?だけを注目できますが,CNNでは画像全体に同じ処理を繰り返すため,そういったことはできません.
![Attention1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120757/71d57718-91df-4ec3-7bb1-76c9d8a6f57f.png)

例えば,以下のような流れのモデルがあるとして,GAPでは背景も含めて画像全体の特徴を平均化します.
勿論大量のデータを使うことで,前

元記事を表示

RNNの基本

# はじめに
今回は時系列データを用いる際に使用する,Recurent Neural Network(RNN)についてまとめておきます.
最もシンプルなRNN,進化系のLSTM,LSTMを軽くしたGRUについて紹介します.

また,RNNへの入力形式についてもお話しできればと思います.
時系列データは画像等とは少し違ったデータ形式にして,入力しないといけません.
(はじめて実装するときに悩んだので,同じ悩みを抱える人の助けになればいいな:relieved:)

因みに,モデルの実装はPytorchだとnn.RNNと書くだけなので楽勝です.
(勿論中身を理解した方がいいですが)

# 目次
[1 RNN](#1-RNN)
[2 LSTM](#2-LSTM)
[3 GRU](#3-GRU)
[4 RNNへの入力形式](#4-RNNへの入力形式)

# 1 RNN
RNN(Recurent Neural Network)とは,時系列データを扱うDeep Neural Networkです.
RNNでは現在に対する過去の影響を考慮します.

時刻 (t) における状態を考えるとき,時刻 (t)

元記事を表示

CNNの基本

# はじめに
画像等を用いたDeepLearning で使われるConvolutional Neural Netwoek(=畳み込みNN=CNN)についてまとめておきます.

Linearでもいいので簡単なモデルを作ったことがある人なら実装部分は詰まらないと思います.ので,知識のお話をできればと思います.
また,Convolution層にのみ使えるGradCAMという便利な技術についても紹介します.

# 目次
[1 畳み込み](#1-畳み込み)
[2 プーリング](#2-プーリング)
[3 GradCAM](#3-GradCAM)

# 1 畳み込み
CNNのメイン処理です.
今回は2次元の画像に対して考えていきます.
畳み込み処理には”フィルタ”を使います.下図の赤の部分が処理される画像,青の部分がフィルタです.
![Conv1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3120757/def5c821-0bc3-7606-1273-ce5b711c2a23.png)
まずはこのフィルタを左上3

元記事を表示

DeepLearning基礎技術まとめ

# はじめに
DeepLearning では様々なデータを扱います.テーブルデータ,画像,3D,時系列,etc. 何を使うにしても必要となる技術についてまとめておきます.(自分の為も兼ねて)

# 目次
[1 DNNの基本](##1-DNNの基本)
[1.1 DeepLearning って??](##1.1-DeepLearning-って??)
[1.2 全結合層](##1.2-全結合層)
[1.3 活性化関数](##1.3-活性化関数)
[1.4 Loss関数](##1.4-Loss関数)
[2 特徴分布](#2-特徴分布)
[3 Validation](#3-Validation)
[4 交差検証](#4-交差検証)
[5 アンサンブル学習](#5-アンサンブル学習)

# 1 DNNの基本
## 1.1 DeepLearning って??
例えば,よくある画像の分類について考えます.
?と?の画像分類をしたいとき,学習データを用意して,それをDeepLearning で学習します.すると,この写真に写ってるのは????といった問題を解けるようなものが出来上がります.

これはつ

元記事を表示

Scanline Seedfillによるペイント関数

Scanline Seedfillによるペイント関数です。
指定された背景色の部分を指定された色で塗りつぶします。
python3で書かれています。グラフィックスの部分はpygameを使っています。

“`scanline.py
#!/usr/bin/python3
from pygame.locals import *
import pygame
import sys
import os
import random
MAXX=399
MAXY=399
buff=[]
pygame.init() # Pygameを初期化
screen = pygame.display.set_mode((MAXX+1,MAXY+1)) # 画面を作成
pygame.display.set_caption(“paint(scanline seedfill)” ) # タイトルを作成

def point(p):
return(screen.get_at(p)[:3])

def scanline(lx,rx,y,bc):
global buff
while(lx<=r

元記事を表示

Ubuntu: Visual Studio Code の使い方

Ubuntu 22.10 で Visual Studio Code を使う方法です。

## インストール
deb ファイルをこちらからダウンロードします。
[Visual Studio Code on Linux](https://code.visualstudio.com/docs/setup/linux)

“`bash
sudo dpkg -i code_1.74.3-1673284829_amd64.deb
“`

インストールできたことを確認

“`text
$ which code
/usr/bin/code

$ code –version
1.74.3
97dec172d3256f8ca4bfb2143f3f76b503ca0534
x64
“`

## 起動

“`bash
code
“`

## サンプルプログラムの実行

“`py:sample.py
import sys
sys.stderr.write(“*** 開始 ***\n”)
print(sys.version)
print(“Hello World”)
print(“こんにちは”)

元記事を表示

ランダム量子回路ジェネレーターを作ってみた。

おはようございます。
[株式会社インスパイアサーチ](https://www.inspiresearch.io)の加藤 翼です。

昨日、ランダムに量子回路を作るPythonスクリプトを作ったので、公開します。
とてもシンプルなスクリプトで、一回走らせると、10個ランダムに量子回路を生成してくれます。

使ったのはQiskitです。
[ソースコードはGitHubにも公開しました。](https://github.com/stingraze/qiskit-random-circuit-generator)

“`python3
#(C)Tsubasa Kato – Inspire Search Corporation 1/26/2023 16:17PM
#Referenced: https://qiskit.org/documentation/stubs/qiskit.circuit.random.random_circuit.html
from qiskit import QuantumCircuit, assemble, Aer
from qiskit.circuit.random

元記事を表示

ChatGPTにいろいろな呪文を唱えて、魔法を詠唱してもらった for Python.

# ChatGPTでいろいろなパターンのコードを書いてもらう for Python.
タイトル通りです。ChatGPTにいろいろな呪文を唱えて(指示を与えて)、魔法を詠唱(コード生成)してもらった。
なお、本記事の構成は、「呪文>魔法詠唱(サンプルコード)>補足説明」となっています。

## 簡単なスクレイピング 1
まずは、ありきたりなスクレイピングに関する魔法を詠唱(コード)してもらった。
簡単な魔法がどれくらいなのか?精度も知りたく、以下の内容で呪文をかけてみた。

はじめの呪文(指示)は次の通りです。
“`:呪文
pythonコードで、特定のサイトをスクレイピングして、
テーブルタグのデータをexcelに落とし込み、各データのテーブルを作成するコード書いて
“`
魔法詠唱
“`Python3:魔法詠唱
import requests
from bs4 import BeautifulSoup
import pandas as pd

# スクレイピング対象のURL
url = “https://example.com”

# requestsを使用してHTMLを取得
re

元記事を表示

PythonでRaspberryPiで撮影したカメラ映像をリアルタイム転送する

# はじめに
本記事は備忘録の一部です。
![Fig.1](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629378/e2b80505-44b4-feff-715f-e41c0429a513.jpeg “[Fig.1]カメラを搭載したRaspberryPi4”)

**監視カメラ**でも作ろうかと過去のコードをぴっぱり出したところ、コピペでは動作しなくなっていたので、最近の仕様変更に合わせたコードへの修正となります。

具体的には、**RaspberryPi**で取得したデータをほかのデバイス(Pythonが動くもの)で表示させるというものになります。

本コードは拡張性が高く、**リアルタイム映像をAI・機械学習等の処理**にかけるときに別のサーバー上で処理ができるので大変重宝しております。**簡易監視カメラ**にもなりますし、**Python**で書かれているのでNAS等に動画を保存しておくことも可能です。可能性は無限大と言えますね!

中華のIPカメラでやれよって話ですけどね。

# 目標

![Fid.

元記事を表示

ハノイの塔を解くプログラム python3

再帰アルゴリズムで、ハノイの塔を解くプログラムです。

`$ chmod +x hanoi.py`で実行権限を付けて実行して下さい。
`’./$ hanoi.py `で、n段のハノイの塔を解きます。

“`hanoi.py
#!/usr/bin/python3
import sys

def hanoi(n, from_, to, work):
if n > 0:
hanoi(n-1, from_, work, to)
print(“move #%d disk from %s to %s” % (n, from_, to))
hanoi(n-1, work, to, from_)

hanoi(int(sys.argv[1]), ‘Left’, ‘Center’, ‘Right’)

“`

# 実行結果

“`
$ hanoi.py 3
move #1 disk from Left to Center
move #2 disk from Left to Right
move #1 disk from Center to Right
move

元記事を表示

AtCoderの暖色コーダ(黄・橙・赤)はどれだけの速度でコードを書く? ユーザの解答時間を色別で集計してみた

[Supership](https://supership.jp/)でVPoEをしている名畑です。2023年冬アニメの[テクノロイド オーバーマインド](https://techno-roid.com/anime)を見ていて、その内容から[うたプリ](https://www.utapri.com/)を思い出していたら、[上松範康](https://twitter.com/agematsu)さんの作品だと後から知りました。ストーリー展開が予想外で面白いです。

:::note info
AtCoderについて調べてみたシリーズの過去記事
– [そもそもAtCoderとはどんなものか](https://qiita.com/nabata/items/44fa3995e476b12b9860)
– [誕生年毎のアクティブユーザ数](https://qiita.com/nabata/items/75407e48c7ca8de8a4a4)
– [アクティブユーザの世代別国と地域](https://qiita.com/nabata/items/28b5572978ee4abb0126)
– [プログ

元記事を表示

久しぶりにpython書いたら複数文字列の演算子を使った条件式の書き方わからんくなってた

# 条件式 and,or
Pythonを書く時、論理演算子として**and**や**or**を使って、条件式を書くことがある。(JavaScriptやCでは __&&__ や __||__ で表現する)
有名なもので、[FizzBuzz問題]()の***3の倍数かつ5の倍数***を表現するときに**and**が使われることが例に挙げられる。

# 複数文字列がinで囲まれた大きな文字列に含まれるかどうか
次のような場合を考える
“`python:example1.py
if “abc” or “def” in “ghi”:
print(“True”)
else:
print(“False”)

>>> True
“`
直感的には、”abc”も”def”も”ghi”には含まれていないため、*False*が返ることが期待されますが、実際には、予想と反する*True*が返ってきます。

これがなぜかというと、pythonでは次のように解釈されているためです。
“`python:example2.py
if “abc” or (“def” in “ghi”):

`

元記事を表示

Azure Web Appsを使ってみてなんか気になったところ

Azure Web AppsでFlaskデプロイしたのですが、その仕組みやらなんやらがわからず混乱しているという記事というかメモです。

### 1なぜコマンドプロンプトやPowerShellでコマンド入力せずに動くのか。
私はVScodeを使ってPythonやらFlaskやらのフレームワークを使ってコードを書いています。そのときに、コマンド入力したり、Pathを入力することで、実行しています。
しかし、AzureWebAppsでは主に
・Azure Portalで設定し、
・Githubと連携し、
・Github Actionsのワークフローが自動設定され、
・デバッグすることで、
なぜか動いているんです。
コマンド入力することでファイルが動くことを当然視していた私にとって、これは非常に奇妙に映るわけです。

設定することで動くPaaSやホスティングサービスの例はあります。
例えば、Heroku。HerokuにはProcfileという「最初にこれを設定して、あれを動かして」といった具合に手続きをHerokuに伝えるファイルがあるようです。

調べてみるとAzureWebAppsにもあ

元記事を表示

再帰によるpaint関数

指定されたバックグラウンド色の部分を、指定された色で塗りつぶすpaint関数です。
グラフィックスにはpygameを使っています。
このプログラムでは、塗りつぶし領域が広いと、すぐRecursionErrorが起きてしまうので、改良が必要です。

“`paint.py
#!/usr/bin/python3
from pygame.locals import *
import pygame
import sys
import os
import random
sys.setrecursionlimit(20000)
xsize=400
ysize=400
pygame.init() # Pygameを初期化
screen = pygame.display.set_mode((xsize,ysize)) # 200×200の画面を作成
pygame.display.set_caption(“paint” ) # タイトルを作成

# ペイント関数
def paint(p,bc,pc):
if screen.get_at(p)[:3]==bc:
s

元記事を表示

OTHERカテゴリの最新記事