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

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

instantNeRFのevaluation

instantNeRFの推論結果についてPSNRとSSIM計算する機能の動作を確認しました。

#### run.py
parseを見ると–test_transformsを与えるとPSNRを計算するとありました。

“`
parser.add_argument(“–test_transforms”, default=””, help=”Path to a nerf style transforms json from which we will compute PSNR.”)
“`
216行付近が計算処理の内容でした。transform.jsonと同様に画像ファイルの名前とカメラの外部パラメータを指定するようです。
![230106_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/103446/0c61fd9c-2022-2bc6-d847-785d65350ea8.png)

… というEllipsisオブジェクトが使用されていました。

https://qiita.com/yubes

元記事を表示

Pythonでマスク付きのテンプレートマッチングをする(OpenCV)

# 1.概要
みんな大好き大乱闘スマッシュブラザーズ(以下スマブラ)!!
私事ながら,スマブラ配信をしています.[チャンネル登録お願いします!](https://www.youtube.com/channel/UCKys_FIMcKfIn5L4HOyy0vQ)
スマブラ×機械学習でなんかできないかなー,と思っていたところこんな記事を発見しました.
[画像認識でスマブラの戦績を自動で作成するツールを作ろう](https://note.com/kelp168/n/nf717de3a2d22)
最終的に何を作るかは置いといて,面白そうだしとりあえずやってみよう!

前回,[Pythonで画像のエッジ検出と直線検出をする](https://qiita.com/kenshin-627/items/098703383374e1e7b65b)ことができました.
今回の目標は,画面上部の直線から対戦開始タイミングを,テンプレートマッチングで対戦終了タイミングを検知することです.
画像の上部にこんな角度の直線が検出されれば,この画像は対戦開始タイミング!

元記事を表示

[Python] 仮想環境の構築

# 使用技術

– [Python 3](https://www.python.org/)
– [venv](https://packaging.python.org/ja/latest/guides/installing-using-pip-and-virtual-environments/)

※この記事はPython 3を使用しています。Python 2では手順が異なります。

# 仮想環境について
Pythonには仮想環境を構築するためのライブラリがいくつかあります。
これらを使用することで、各プロジェクトに対して それぞれ別のパッケージをインストールして管理することができます。

もし共通の環境で開発を進めると、モジュールを追加・削除したり、バージョンアップしたことによって、他のプロジェクトに影響を与える場合があります。
仮想環境を使用することでこれを解決することができます。

# 構築方法

## 1. コンソールを開く
Windowsでは特に事情がない限り、PowerShellを使用することを推奨します。

## 2. pipを最新版にする
pipコマンドを使用する前に、

元記事を表示

pygameでテキストボックスから数値を入力する

日付:2023/01/06
分類:python pygame

pygameでinput文みたいなものがあればいいのですが、ないので作ってみました
作っているうちにinput文というよりテキストボックス的なものになってしまいました;;;

4桁の数値を入力しているところ

[repl.itで試せます](https://replit.com/@bkh4149/FavoriteFlatClient#main.py)

### 使い方
import g_input
tbox(screen,font,x,y,w,h,n)
引数:
screen:サーフェス
font:フォント
x,y:テキストボックスの左上の座標
w,h:テキストボックスの幅と高さ
n:文字数
戻値:入力された数字のテキスト

### コ

元記事を表示

[Python]四捨五入

毎回調べちゃうよね、この処理。
めんどくさいのでまとめました。

# 四捨五入
“`py
round(number, digit)
“””
number: 四捨五入したい数字
digit: 有効桁数
“””
“`

例えば「1.2345を小数点第3位で四捨五入したい!」といった場合、

“`py
round(1.2345, 2) # 1.23
“`
といった具合です。
ここで分かるように、第2引数の`digit`は**結果的に残る小数部の桁数**を示します。

ところで、この有効桁数にマイナスの値を代入すると、**整数部の有効桁数を削る**こともできます。

“`py
round(1234.5, -2) # 1200.0
“`

この例では、小数点から数えて二桁が四捨五入されています。
`digit`は**小数点を基準とし、プラスなら有効桁数を増やし、マイナスなら削る**と覚えておくとよいと思います。

元記事を表示

【化学】分子記述子についてまとめた件

# はじめに
なるべく自分自身の力でまとめ上げましたが、私の憶測や偏見が一部あるかと思います。怪しい箇所は一次文献を参照してください。

# 目次
1. 背景
1. 目的
1. 方法
1. 内容
1. どの分子記述子が良いのか?
1. 所感

# 背景
化学を機械学習に適応させるには、化合物の数値化が必須です。その数値化は**分子記述子**という方法で行われます。この分子記述子はいくつも開発されており、私の中で整理できていませんでした。

# 目的
主な分子記述子について違いを整理すること。
それらをrdkitで実装し、すぐに機械学習で使える形に整理すること。

# 方法
[Molecular descriptor (Wikipedia)](https://en.wikipedia.org/wiki/Molecular_descriptor)の情報から派生して体系的に整理する。
pythonの実行環境は以下の通りである。
* python 3.7.5
* rdkit 2020.09.1.0
* mordred 1.2.0

# 内容
分子記述子の全体像を説明した後、pythonでの実装

元記事を表示

いいから黙ってこの記事通りにPython環境を立てろ(mac編)

# 注意事項
– 各自のマシンの環境破壊および構築は各自の責任で。
– 環境破壊を行う前に、 `pip freeze > requirements.txt` などにより自身が利用しているパッケージリストを保持することをお勧めする。
– シェルコマンドの `%` はコマンドであることを示しているだけなので、実際の入力では不要。

# Part 1: 過去の清算編

## [必須] シェルの読み込み設定をすべて削除する
bashを使っている場合は `~/.bash_profile` および `~/.bashrc` を、zshの場合は `~/.zsh_profile` および `~/.zshrc` を確認し、Pythonに関するコマンドは全て削除する。特に、Anacondaを入れたことがある場合はかなり汚くなっているはず。
(元々ファイルがない場合はなくてOK)

### 例: Anacondaが勝手に追記するコード
一例 [参考](https://atsushinotes.com/uninstall-anaconda-from-mac/)

“`shell:.bash_profile/.

元記事を表示

Pythonで一次元有限要素法(FEM)を実装する

## 1 問題設定
https://link.springer.com/book/10.1007/978-3-642-33287-6
この本のp32にある問題設定
$-\left( au’\right)’=f\quad,x\in \left[ x_{left},x_{right}\right]$
$au’\left( x_{left}\right) = \kappa_{left}\left( u\left( x_{left}\right) -g_{left}\right)$
$-au’\left( x_{right}\right) =\kappa_{right}\left( u\left( x_{right}\right) -g_{right}\right)$
これを有限要素法で解くプログラムをPythonで実装します。
## 2 プログラム

“`Python:
import numpy as np
import matplotlib.pyplot as plt
“””
-(au’)’ = f
au'(x_left) = kappa_left * (u(x_left) – g_le

元記事を表示

遺伝子情報をDB横断的に検索するPythonパッケージ “gget”

ggetの使い方。

論文は以下。

[Laura Luebbert, Lior Pachter, Efficient querying of genomic reference databases with gget, Bioinformatics, 2023;, btac836, https://doi.org/10.1093/bioinformatics/btac836](https://doi.org/10.1093/bioinformatics/btac836)

ggetは Ensembl, UniProt, NCBI などの遺伝子配列データベースを対象にした遺伝子名や遺伝子IDによる配列検索、BLAST検索などを簡単に実行するインターフェースを提供してくれるPythonパッケージ。コマンドラインバージョンもあるがここでは解析プログラムにも組み込みやすいPython APIを紹介する。

R言語の場合は使いやすいツールとしてbiomaRtがあるけど、biomaRtが検索時にDBをひとつ固定するのに対して、ggetの場合はデータベース横断的に検索してくれるのが特徴。

ここで

元記事を表示

[python]webページのHTMLソースをディレクトリそのままにまとめてスクレイピング

## 背景
WebページのHTMLソースをディレクトリそのままにまとめてスクレイピングしたいと思いました

例えば、`https://www.hoge.com/huga/hoge/index.html`と`https://www.hoge.com/huga/index.html`のソースをまとめて取得するとき、ローカルにドメイン名をトップディレクトリとして
“`
└── www.hoge.com
└── huga
├── hoge ── index.html
└── index.html
“`
の形で取得したいです

## 準備
基本のやり方は

https://qiita.com/akira-hagi/items/d0cfbc5af0806df00467

を踏襲します

取得したいページのURLのリストをテキストファイルとかで用意します
(実際は存在するURLでやりましたがぼかしています)
“`txt:hoge.txt
https://www.hoge.com/huga/hoge/index.html
https://www

元記事を表示

OCIのAlways Free環境で、Oracle Machine Learning for Python (OML4Py)を試してみた

# はじめに
Oracle Machine Learning for Python (OML4Py)は、Oracle Autonomous Databaseのデータに対して統計および機械学習分析を実行するためのPython APIです。
本記事は[Oracle, Live Labs](https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/run-workshop?p210_wid=786&p210_wec=&session=3370094538240)を参考にしています。

# 本記事の前提条件
* OCI Always Freeのアカウントを取得していること
* サンプルデータをダウンロードしていること
[Oracle, Live Labs, Lab1, Task2](https://apexapps.oracle.com/pls/apex/r/dbpm/livelabs/run-workshop?p210_wid=786&p210_wec=&session=3370094538240)の「CLICK HERE」と書かれているリン

元記事を表示

DreamBoothを8GBのVRAM環境で動作させる

# 概要

– ローカルPCのUbutu VRAM環境(8GB)でStable Diffusionのfine tuning手法であるDreamBoothを動作させる方法を説明します.
– [この記事](https://huggingface.co/docs/diffusers/training/dreambooth)を参考に、環境構築&動作確認を行った備忘禄です.
– DreamBoothによる学習は10〜20分程度、1024×768ピクセルの結果出力には1分程度でした.
– 以下は、[栗駒こまるさんの3Dモデル](https://aogirihighschool.booth.pm/items/4074609)から得られた画像をもとに[waifu-diffusion](https://huggingface.co/hakurei/waifu-diffusion-v1-4)を学習させたときの出力サンプルです.
※3Dモデルのレンダリング画像のみで学習できるかどうかは、興味深いと思っているので別記事でまとめる予定です.

時系列データ分析:前処理

勉強したことをアウトプットします。
ほぼ全て北川先生の講義によるものです。
講義:https://ocwx.ocw.u-tokyo.ac.jp/course_11416/
データ:http://www.mi.u-tokyo.ac.jp/mds-oudan/lecture_document_2019_math7/time_series_analysis_2019.html

時系列データにおける前処理の2つの目的

1、定常性や正規性を仮定に置いているモデリングを容易に適用するため。
⇨良くわからない周期性を持つ時系列データから、なんとか周期性を見つけ出し、その周期性をモデルに落とし込み予測できるようにしたいという動機。
2、モデルのパラメータ最適化を容易にするため。

データの種類

4種類ある。
1、独立したデータ
各データは独立している。(例)心臓病のデータ、国勢調査、治験データなど

2、時系列データ
時間と供に生成されたデータ。データの並び順が大切になる。(例)株価、地震など

3、空間データ
mapなどの地理情報と結び付けられて生成されるデータ。

4、時空間データ

元記事を表示

[Pydantic-18n] 爆速宇宙実装オーロラ!!Pydanticのバリデーションメッセージを英語から日本語へ変換!!

# この記事を読んでできること
Pydanticのバリデーションメッセージを英語から日本語に変換して返すことができる
# 概要
– i18nとは
– Pydantic-i18nとは
– 実装
# 記述しないこと
– FastAPIについて
– Pydanticとは
– Pydanticの実装

# 使用技術
fastapi==0.78.0
pydantic==1.9.1
pydantic-i18n==0.2.3

# i18nとは
**i18n**(Internationalization(国際化対応)の略称)とは、文化や地域、言語によって異なるターゲットオーディエンスに合わせて容易にローカライズできる製品、アプリケーション、または文書内容の設計と開発のこと
今回の実装ではPydanticのデフォルト設定の言語が英語であるため、それを日本語に変換するという国際化対応を行う
# Pydantic-i18nとは
[Pydantic-i18n](https://github.com/boardpack/pydantic-i18n)とはPydantic専用のi18nライブラリである
これを使

元記事を表示

paiza スタック・キュー応用編 python 解答例 

https://paiza.jp/works/mondai/stack_queue_advanced/problem_index?language_uid=python3

今回はこちらの解答例のない問題集を解いてみます。これから学習するかたへ参考になることが出来れば幸いです
## まず
スタックキューにはいろいろライブラリがあるそうですが、以下の奴が一番早いそうです
左右どちらからの挿入と削除も出来ますので、大丈夫です
“`py
from collections import deque
s = deque([])

s.append(1) # 右に挿入
s.appendleft(2) # 左に挿入
s.pop() # 右の要素を削除
s.popleft() # 左の要素を削除
“`

またキューの挿入、削除のクエリを受け取る場合、何個の文字が来るか分からないことがあります。そこで
“`py
str,*x = input().split()
“`
とすることで、xに相当する文字が存在した場合、xにリストとして格納することが出来ます
もし、xにあてがう文字が無かったとしてもエ

元記事を表示

AirSimにおけるUnreal 環境のセットアップ

# Unreal プロジェクトのセットアップ
自分の学習用に日本語に翻訳したものです。下記に元のURLを載せておきます。
https://microsoft.github.io/AirSim/unreal_proj/#option-1-built-in-blocks-environment
## オプション 1: 組み込みブロック環境
AirSim に付属している Blocks プロジェクトを使用することで、迅速に立ち上げることができます。これはレポのサイズをリーズナブルに保つためにあまり詳細な環境ではありませんが、私たちは常に様々なテストにこれを使用しており、この見知らぬ土地に足を踏み入れる最も簡単な方法です。

この[簡単なステップ](https://microsoft.github.io/AirSim/unreal_blocks/)に従ってください。

## オプション 2: 独自の Unreal 環境を作成する
写真のようにリアルな高品質の環境をセットアップしたい場合は、独自の Unreal プロジェクトを作成する必要があります。
これは少し複雑ですが、価値があります。

この

元記事を表示

FastAPIのValidationの挙動に気をつけよう

本業ではないですが、部署内で小さなアプリを開発したりしています。
今回、あまり知らなかった仕様と避けるべきコードの仕様を組み合わせてしまったことで、エラーが出てしまったので書き記します。

# 何が起こったのか

FastAPIで入力されたデータから結果を返すREST APIを作成しています。
ざっくりと書けば、下のようにとてもシンプルなプログラムです(本当はもう少し複雑ですが、議論の単純化のためにシンプルに書いています)。

“`py
from fastapi import FastAPI
from pydantic import BaseModel
from typing import Optional

class Answer(BaseModel):
age: int
q1: int
q2: int
q3: Optional[int]

app = FastAPI()

@app.post(“/calc/”)
async def calculation(answer: Answer):
answer_dict = answer_sc

元記事を表示

python trace

“`python
import sys
sys.setprofile(tracefunc)
“`

元記事を表示

【Python】 PystanによるMCMCを用いた回帰分析

## はじめに
 回帰分析(フィッティング)の方法として、最小二乗法やカイ二乗検定、最尤法が一般的な方法としてあり、それらは損失関数を最小化/最大化することで、データに合うモデルパラメーターを決めている。ただ、パラメータが増えたり関数が複雑になると、最適な解を求めるには数値計算が難しくなり、近似的に解を求める必要がある。そのような近似解を求める方法の一つとして、今回はマルコフ連鎖モンテカルロ法を紹介する。

– マルコフ連鎖モンテカルロ法(MCMC:Markov chain Monte Carlo methods)
事後分布を数値計算から求めることが困難な場合、事前分布と事後分布にマルコフ連鎖を仮定し、モンテカルロ法とベイズの定理により確率的に事後分布(次の状態)を計算し、近似値を探索する方法。

– 変分推論(VI:Variational Inference)
近似分布と事後分布のロス関数をKLダイバージェンスで定義し、ロス関数を勾配法などを用いて最小化することで近似値を探索する方法。

## Pystan

PystanはStanのPythonライブラリである。Stanは統計

元記事を表示

RPKMとTPM

RPKM (reads per kilobase per million mapped reads) とTPM (transcripts per million) はいずれも次世代シーケンサー (Next Generation Sequencer, NGS) で測定したカウントデータの正規化法です。

参考ページ:
* https://bi.biopapyrus.jp/rnaseq/analysis/normalizaiton/fpkm.html
* https://bi.biopapyrus.jp/rnaseq/analysis/normalizaiton/tpm.html
* https://gikenbio.com/look-up/tpm/

縦方向に転写産物、横方向にサンプルが並んでいるとします。列毎に正規化してから行毎に正規化するのがRPKM、行毎に正規化してから列毎に正規化するのがTPMです。

列毎の正規化は、サンプル毎のリード数の違いを揃えるために行います。行毎の正規化は、転写産物毎の遺伝子長の違いを揃えるために行います。

Pythonのコードを以下に示します。カウ

元記事を表示

OTHERカテゴリの最新記事