Python関連のことを調べてみた

Python関連のことを調べてみた
目次

instruct-pix2pixで画像を指示した通り変更したり

この記事ではStable Diffusionの機能の人つである**instruct-pix2pix**及びその派生である**controlnet instruct-pix2pix**について説明します。

# instruct-pix2pixとは? img2imgとどう違うの?

[**instruct-pix2pix**](https://github.com/timothybrooks/instruct-pix2pix)は画像を指示した通り変更するStable Diffusion機能です。

ただそもそもStable Diffusionには似ているものとしてimg2imgがあります。以前の記事で説明してあります。

https://qiita.com/phyblas/items/eed011fd01f5afd0f759

img2imgの方は知名度が高くて一般的に使われていますね。だから「どう違うか?img2imgで良くないか?」と疑問に思うでしょう。

確かにinstruct-pix2pixもimg2imgも、ある画像を元にして新しい画像に変更する機能です。それでも変換の仕様は

元記事を表示

時系列波形異常検知 DRAGによる時系列ディスコードの探索(Python実装例付)

# はじめに
時系列異常検知手法は無数に提案されていますが、単変量の時系列異常検知で最強の方法とはなんでしょう?そうですね、時系列ディスコード(Time Series Discords)ですね。
(Deep Learning系の何かだろ!と思われた方はこの辺りの文献を参照されたし[1][2]。)

時系列ディスコードとは、部分時系列であって、自身と類似したパターンが存在しない部分時系列と定義されます。↓こんなやつです。

![ECGのサブシーケンス.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/367616/8404672a-b35a-e96e-e1a9-63c848f6c980.png)

定義的なもので説明すると(文献によって多少定義が揺れたりするんですが)、長さ$n$の時系列データを$T$として、$i$番目の値を$T_i$と表します。
$$T=[T_1,T_2,…,T_n]$$
部分時系列の窓幅を$L$とし、時系列の$i$番目から始まる部分時系列を$S_i$と表します。
$$S_i=[T_i

元記事を表示

1時間という爆速でchatgpt応答pythonプログラム作ってみた。

# はじめに

[naritomo](https://twitter.com/KanagawaLo81146)と申します。

本職はインフラエンジニアを行っています。

今回は1時間という爆速でchatgpt応答pythonプログラム作ってみました。

いろいろアドバイスいただけると嬉しいです。

ソースは以下になります。

https://github.com/naritomo08/chatgpt_app

## Pythonプログラム稼働環境構築

あらかじめpythonインストールを実施していること。
本プログラムはmac/Linuxで動かしてください。

### 初期設定

“`bash
git clone https://github.com/naritomo08/chatgpt_app.git
cd chatgpt_app.git
rm -rf .git
python3 -m venv venv
. venv/bin/activate
pip3 list
python3 -m pip install –upgrade pip
pip3 install -r requir

元記事を表示

「Pythonによる化学シミュレーション入門」をやってみたよ4~ランダムウォークと拡散現象~

この記事は[現代化学](https://www.tkd-pbl.com/news/n184.html)(東京化学同人)の2022年4月号から2024年3月号まで連載された安藤耕司先生の「Pythonによる化学シミュレーション入門」を読んでやってみた記事です。詳しい内容は上記の「Pythonによる化学シミュレーション入門」をご参照ください。今回は、2022年11月号のランダム・ウォークと拡散現象(1)、2022年12月号のランダム・ウォークと拡散現象(2)の内容です。

# ランダムウォーク
ランダムウォークとは、ある値が時間に対して確率的に変化していくようなモデルのことです。ランダムウォークは熱振動により微粒子が溶媒中で示すブラウン運動、拡散現象、株の値動きなど幅広い現象のモデルとして考察されています。

早速二次元のランダムウォークを図示します。

“`Python
import matplotlib.pyplot as plt
import random

nstep = 100

x = 0.0
xx = []

y = 0.0
yy = []

for i in range(

元記事を表示

Discordメッセージ削除bot

## はじめに

Discordで過去の不要なメッセージを自動で一括削除したいと感じたため、Discordメッセージ削除botを作成しました。
(ほぼChatGPT製)

既に有名なAutoDeleteというボットがありますが、最近は更新が止まっており、試したところ安定して動作しなかったため、新しいボットを作成しました。このボットはサーバーで提供されるものではなく、各自のローカル端末などで実行する必要があります。

なお、このボットを設定・運用するには、ある程度のプログラミング言語の知識とLinuxの知識が必要です。これは、ボットをローカルで実行するためにサーバーを用意し、適切に設定する必要があるためです。

## コマンド一覧と使用方法

1. **`set_interval` コマンド**
– **使用方法**: `!set_interval `
– **説明**: メッセージの削除チェック間隔を分単位で設定します。
– **例**:
– `!set_interval 1`: メッセージの削除チェック間隔を1分に設定。

元記事を表示

知財のあれこれをPythonで何とかする

1.ファミリを何とかする(その4)

今回は欧州特許庁の「Espacenet」からの特許ファミリ情報の取得作業を容易にするための処理方法を紹介したいと思います。

2.今回やろうとしていること
今回やろうとしていることは「Espacenetで表示させた”INPADOC Family”のページの、登録番号の情報だけを抜き出す」ことになります。
手作業としては「Espacenetをアクセスして出願番号、公開番号、登録番号のいずれかを入力、Familyのページを表示させ、登録番号を含むテキストデータをコピペする」ここまでは手作業です。
プログラムでは、コピペしたテキストデータから登録番号を抽出する処理をします。
Espacenetをアクセスして番号入力しサーチすると、INPADOC Familyのページを表示させる以下のようなボタンが表示されるはずです。
![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3831931/59bef5b4-13c6-92ef-6571-8a7f218b463d.jpeg)

元記事を表示

Pythonで実現するSwitchBotスマートロックの施錠・開錠方法

SwitchBotスマートロックをPythonを使って操作する方法を書いていきます。
コマンド操作ってすごい。

## 実行環境
– OS:Ubuntu 22.04.4 LTS
– Python:3.10.12
## 準備するもの
– SwitchBotスマートロック(製品型番:W1601700)
– SwitchBot スマートリモコン ハブミニ (製品型番:‎W0202200)
## 前提
– SwitchBotのアプリ内に「SwitchBotスマートロック」「SwitchBot スマートリモコン ハブミニ」が接続されており、オンライン状態になっていることとします。
– アプリ操作にてスマートロックの動作が正しく行われていることとします。
## SwitchBotの各情報の取得
– APIトークン
– クライアントシークレット
– SwitchBotスマートロックのデバイスID
を取得します。

アプリを起動します。
「プロフィール」から「設定」を選択します。
「アプリバージョン」を10回タップすれば「開発者向けオプション」が出現するので、そこから「APIトークン」と「クライアント

元記事を表示

AmazonBedrockのpromptFlowをSDKを使っていじってみた

このチュートリアルでは、Amazon Bedrock Agent FlowとそのエイリアスをPythonで操作するためのライブラリの実装と実践的な使い方を説明します。

## 前提条件

このライブラリを使用する前に、以下の準備が必要です:

1. **Flowの作成**: Amazon Bedrock Consoleで事前にAgentとFlowを作成しておく必要があります。
2. **Flowのバージョンの作成**: Flowの変更を保存する際に新しいバージョンが作成されます。
3. **エイリアスの登録**: 作成したFlowのバージョンに対してエイリアスを登録する必要があります。

これらの作業はAWS Management ConsoleまたはAWS CLIを使用して行います。

## 1. ライブラリのコード

以下のコードを`bedrock_agent_library.py`として保存します。

“`python
import boto3
from botocore.exceptions import ClientError
from datetime import da

元記事を表示

GTDBの系統樹からphylumを抽出し、iTOLで表示する

# 背景
[以前の記事](https://qiita.com/116ryusei/items/89fdcac52740bd82208f)で、GTDBで提供されている系統樹をiTOLで開く方法を紹介しました。この系統樹は、10万近くの細菌種からなり、非常に重いです。種の系統樹を門(phylum)にまとめると、見やすくなります。この記事では、GTDBの系統樹からphylumを抽出し、iTOLで表示する方法を紹介します。

# 実行環境
– Windows11
– Ubuntu 22.04.3 LTS
– ete4 ([以前の記事](https://qiita.com/116ryusei/items/6c4c8d92b3633f59b7c6)で環境構築を紹介)

## 入力ファイル
入力するGTDBの系統樹は、[以前の記事](https://qiita.com/116ryusei/items/89fdcac52740bd82208f)による`bac120_to_itol_noboot.tree`を想定しています。

## サンプルプログラム
ete4を使用して、系統樹から門のみを抽出するプロ

元記事を表示

paizaプログラミング問題Rank C, D (Python)

[paiza×Qiita記事投稿キャンペーン](https://paiza.jp/pages/campaign/paiza-qiita)に参加しました.
ここに書いたプログラムの関連リポジトリは,以下になります.

https://github.com/tomtkg/Python-Sample/tree/main/paiza

ここでは,Rank C, D問題の解答と簡単な解説を公開します.
言語はPythonを選択しました.結果は以下のようになりました.

# Rank C
## 残り物の量
https://paiza.jp/works/mondai/c_rank_skillcheck_archive/leftover

“`python:leftover.py
m, p, q = map(int, input().split())
print(m * (100 – p) * (100 – q) / 1e4)
“`
入力文字列を数値`m`,`p`,`q`に分配し,数値演算します.
なるべく整数で計算して,一番最後で小数表記に直す除算を適用しています.

パーセント表記は,安易に小

元記事を表示

20Questionsゲームシミュレーション:勝利確率の計算

## はじめに

このチュートリアルでは、有名な推理ゲーム「20Questions」のシミュレーションを行う方法を学びます。Pythonを使用して、ゲームの勝利確率を計算し、その結果をグラフ化します。初心者の方でも理解しやすいよう、ステップバイステップで解説していきます。

## 20Questionsゲームとは

20Questionsは、プレイヤーが隠された単語を20問以内の質問で当てるゲームです。各質問は「はい」か「いいえ」で答えられるものに限定されます。

“`mermaid
%%{init:{‘theme’:’base’}}%%
graph LR
A[🎮 ゲーム開始] –> B{❓ 質問する}
B –>|はい👍/いいえ👎| C{⏱️ 20問以内?}
C –>|はい👍| D{🤔 単語を推測}
C –>|いいえ👎| E[😢 ゲーム終了: 負け]
D –>|正解✅| F[🎉 ゲーム終了: 勝ち]
D –>|不正解❌| B
“`

## シミュレーションの概要

このシミュレーションでは、異なる「削減係数」を用いて、各ラ

元記事を表示

PythonによるETL処理入門: pandasとLuigiを使ったデータパイプライン構築

## はじめに

データ駆動型の意思決定が重要視される現代のビジネス環境において、ETL(Extract, Transform, Load)処理は不可欠なプロセスとなっています。本記事では、Pythonを使用してETL処理を実装する方法を、特にpandasライブラリとLuigiフレームワークに焦点を当てて解説します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/b4a45fbf-70b9-79b4-d892-be9c72219d3c.png)

## ETL処理とは

ETL処理は以下の3つのステップから成り立ちます:

1. **Extract(抽出)**: データソースからデータを取得する
2. **Transform(変換)**: 取得したデータを必要な形式に加工する
3. **Load(ロード)**: 加工したデータを目的の場所に格納する

## 使用するツール

今回は以下のPythonライブラリを使用します:

– **pandas**: データ操作と分析

元記事を表示

人工知能の研究向けの VSCode の拡張機能

# 人工知能の研究向けの VSCode の拡張機能

https://marketplace.visualstudio.com/

## はじめに

私は人工知能の研究を VSCode で行なっています。この記事では、私がインストールしている拡張機能を紹介します。

この記事がみなさんの参考になれば幸いです。

:::note info
随時、情報を更新する予定です。
:::

## インストールした拡張機能

### Data Wrangler

https://marketplace.visualstudio.com/items?itemName=ms-toolsai.datawrangler

### GitHub Copilot

https://marketplace.visualstudio.com/items?itemName=GitHub.copilot

### GitHub Copilot Chat

https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat

### Intell

元記事を表示

円と長方形「高校入試頻出問題 円Oの半径は?」をsympyとFreeCADでやってみたい。

・何も座標変換(回転)を使わなくてもです。sympyならではです。
**・円Oの中心をMとしていました。申し訳ありません。**

# オリジナル
・YUUU0123 様 (0:00〜3:21)

# sympyで

**ver0.1 外接円の半径で**
The radius of the circumcircle of the triangle.
https://docs.sympy.org/latest/modules/geometry/polygons.html#sympy.geometry.polygon.Triangle.circumradius
“`python
# ver0.1 △PAB (0,0)(-5,3),(5,3)の外心
from sympy import *
print(“#”,Triangle(Point(0,0),Point(-5,3),Point(5,3)).circumradius)
17/3
“`

**ver0.2 垂直2等分線と垂直2等分線の交点で**
Are two linear

元記事を表示

Seabornのcatplotで引数にaxを渡してグラフを並べて表示させる方法

# はじめに

データ分析する際にSeabornを使用するのですが、グラフを並べて表示したいと思いました。
`matplotlib`では`plt.subplots`を使用して1つの`fig`に複数の`ax`を入れることができ、seabornでも同様にしてできそうかと思ったのですが、`catplot`だけは簡単にできなかったので備忘録として書きます。

# まずは結論

https://seaborn.pydata.org/generated/seaborn.catplot.html

上記のリファレンスを読み`seaborn.catplot(kind=”swarm”)`だったら`seaborn.swarmplot(ax=ax)`にするだけ!!

# 詳しい説明

seabornでは基本的に、plotをする関数の引数の`ax`にmatplotlibで作成したaxを渡すだけで、図中にseabornで作成したグラフを入れることができます。

例えば`kdeplot`関数では、

“`python
import seaborn as sns
y = “列名”
fig, axes =

元記事を表示

Jupyterノートブックで作るデータ活用AIチャットデモ

# はじめに
少し前、こちらのイベントに登壇させていただきました。
https://connpass.com/event/318555/
その際に発表したスライドの内容を本記事にまとめました。

## 生成AIのインパクトとWatsonx.ai
まず、セッション前に私と生成AIの関わりについてお話しします。
近年の生成AIで私に大きなインパクトを与えたのは、2022年末に登場したChatGPTです。
その自然な応答とある程度の回答精度に驚き、今後、ビジネスで多く活用されると感じました。
一方で、今までの経験でデータ基盤やBIツールの仕事を通して接してきた、国内企業は、データを外部に接続することへ警戒感を持つことが多いと感じていました。
そんな中で、昨年Watsonx.aiが登場しました。この製品はIBM Cloud上で動作しますが、自社のアカウント内で完結する生成AI実行環境を提供します。そのため、データを外部に繋ぐことへ抵抗がある企業に非常に相性が良いと私は感じました。
今回は、機会があり、Watsonx.aiとWatsonx.dataに追加されたベクトルデータベースであるMilvu

元記事を表示

カレントディレクトリから指定したディレクトリを除外してgrepする

## はじめに

みなさん、こんにちは。ゆうたです。

今回はLinuxでファイルの中身をgrepで全件検索するときに使えそうなワンライナーを使ったので記事にしたいと思います。
以下の記事も参考になるので是非ご覧ください。
[Linuxにおいて指定パス配下に存在する任意の拡張子を持つファイルを検索する方法](https://qiita.com/torihazi/items/b86bbbca124e5993862a)
※初学者なので認識相違があればご指摘頂けますと幸いです。

## 環境
“`
Python 3.12.0
Django 5.0.6
“`

## 結論
以下のコマンドになります。
“`find . -name “*” -type f | xargs grep -r –exclude-dir 除外ディレクトリ “キーワード” | grep -n “キーワード”“`
※PC、およびサーバのリソースに負荷のかかるコマンドになるので、連投する場合はリソースを見ながら実行するか、商用のサーバで実行する場合は連投は控えて頂けると幸いです。

例 ./venvディレクトリを検索

元記事を表示

Amazon Bedrock 全LLM 日本語能力比較(2024/7/26 Llama3.1, Mistral Large 2 追加版)

Llama3.1、Mistral Large 2が増えたので日本語能力を確認します。
(プレビューのLlama3.1 405Bは除いています)
※その他のモデルについては前回の実行結果(↓)のままです。

https://qiita.com/cyberBOSE/items/098c406c96b0e89b1fbc

# コード
“`Python
import boto3

prompt=”質問:日本における味噌汁の作り方を詳しく日本語で説明してください。”
bedrock_us_east_1 = boto3.client(“bedrock-runtime”, region_name=”us-east-1″)
bedrock_us_west_2 = boto3.client(“bedrock-runtime”, region_name=”us-west-2″)

# なんでもモデル関数
def invokeNandeModel(modelId, prompt, boto):
messages = [{“role”: “user”, “content”: [{“text”: pr

元記事を表示

Pythonのパッケージビルドとインストールの標準、PEP517とは?

### **user**:

ChatGPT先生!助けてください!

“`
!pip install gfpgan
“`

しようとしたら次のエラーになりました。

“`
Defaulting to user installation because normal site-packages is not writeable
Collecting gfpgan
Downloading gfpgan-1.3.8-py3-none-any.whl.metadata (12 kB)
Collecting basicsr>=1.4.2 (from gfpgan)
Using cached basicsr-1.4.2.tar.gz (172 kB)
Preparing metadata (setup.py) … error
error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [68 lin

元記事を表示

PythonでExcelファイルをSVGファイルに変換する方法

SVG(Scalable Vector Graphics)はXMLベースのベクター画像フォーマットです。このフォーマットはWeb開発やその他のグラフィックアプリケーションで非常に人気があり、複雑なベクターグラフィックを効率的に表示する方法を提供します。

ウェブページにExcelの表を埋め込む必要がある場合や、Excelシートを使って直接ウェブページを作成する場合、ExcelファイルをSVGファイルに変換することで、直接的なウェブ埋め込みや作成が可能になります。また、SVGファイルはブラウザで直接開いて閲覧することができるため、Excelファイルの内容を編集する必要がない場合、ExcelシートをSVGフォーマットに変換することで、より多くのデバイスでExcelファイルのデータを閲覧できるようになります。

Pythonを使用することで、この変換プロセスを自動化し、効率的なファイル処理を実現できます。この記事では、**Pythonを使用してExcelファイルをSVGフォーマットに変換する方法**を紹介します。

– **[PythonでExcelシートをSVGファイルに変換する方法](#

元記事を表示

OTHERカテゴリの最新記事