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

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

NiceGUI ネイティブアプリの作成向けTIPS

# NiceGUI ネイティブアプリの作成向けTIPS

自分の備忘録としても。

## ストレージパスの設定

NiceGUI は、アプリケーション内でデータを永続化するための仕組みとして「Storage」が用意されています。

https://nicegui.io/documentation/section_action_events#storage

ネイティブアプリ向けには “`app.storage.general“` を利用することになると思います。デフォルトでは実行フォルダに “`.nicegui/storage-general.json“`という JSONファイルが作成され、ここに “`app.storage.general“`の値が保存されるようになっています。

JSONファイルをどこ作るかは環境変数 “`NICEGUI_STORAGE_PATH“` を参照していて、定義がなければ、実行ディレクトリの “`.nicegui“`以下に作られます。
なので、“`ui.run“` を実行する前に適切なパスで環境変数を設定しておくと適当な位置に設定

元記事を表示

Mamba2 (Transformers are SSMs) 論文解説 (前半)

# はじめに
この記事は、論文 Transformers are SSMs(https://arxiv.org/abs/2405.21060 ) とそこで提唱されたアーキテクチャ、Mamba2について解説することを目標にします。
Mamba (https://arxiv.org/abs/2312.00752) は2023年末に発表された論文です。Transformer が席巻する中、全く別のバックグラウンドや数学的な理論づけを持ち、Transformer を上回る性能の汎用アーキテクチャとして話題になりました。

その著者たちが2024年5月に発表したのがこの論文、 Transformers are SSMs です。その名の通り、著者たちは「Transformerの計算は、数学的にはSSM (つまりMamba 1)と等価である」ということを主張しています。その上で、Mambaを発展させたアーキテクチャ Mamba2 を提案しています。

想定読者として、(1)Transformer は知っている、(2) SSMはなんとなく知っている、ぐらいの人をターゲットにします。Transfor

元記事を表示

Pythonを使ってWord文書の透かしを一括削除

Word文書は、さまざまな正式および非正式なコミュニケーションの場で広く使用されています。時には、これらの文書に不要な透かし(ドラフトマーク、秘密保持声明、プレビュー用情報など)が含まれていることがあります。これらの透かしは文書の読みやすさを妨げるだけでなく、場合によっては情報伝達の不正確さや誤解を招くことさえあります。**Word文書の透かしを削除する**ことで、不要なトラブルを減らすことができます。Pythonのようなプログラミング言語を使用することで、これらの作業を自動化し、効率的にWord文書から透かしを削除し、文書の専門性と正確性を確保することができます。本記事では、**Pythonを使用してWord文書の透かしを一括削除する方法**を紹介します。

– **[PythonでWord文書の文字透かしと画像透かしを削除](#pythonでword文書の文字透かしと画像透かしを削除)**

本記事で使用する方法には、[Spire.Doc for Python](https://jp.e-iceblue.com/introduce/spire-doc-for-python.html

元記事を表示

【PyTorch】Global Average Pooling(GAP)を使用した画像分類の実装方法

# はじめに
Global Average Pooling(GAP)はディープラーニングにおいて使用されるテクニックの一つです。このブログではGAPの実装方法について説明します。
# GAPとは
GAPは特にCNNの最終段階で用いられて、入力画像の特徴マップの空間的な次元を削減することで過学習を防ぐ効果があります。
GAPは各特徴マップに対してすべての値の平均を計算します。

例)チャネル数が100、画像サイズが7×7の場合
①画像サイズが7×7から49個の値の平均を計算します。
②同じ処理を100チャネル分行います。
③最終的に100個の値からなる1次元のベクトルになります。
# GAPを使う利点
・パラメータ数が大幅に減少するため、学習速度が向上します。
・モデルがシンプルになるため過学習を防げます。
・画像中のオブジェクトの位置に依存しない特徴抽出が可能です。
# 使用するデータ
今回使用するデータはSIGNATEに公開されている「モノクロ画像の感情分類」です。こちらテーブルと画像の2種類のデータがあります。
train.zip、test.zip、train_master.tsv

元記事を表示

[忘備録] venvで作成したPython3.12仮想環境でtkinterが使えない場合の対処法

## 解決方法
* `sudo apt-get install python3.12-tk`
* 使いたいPythonのバージョンに合わせた`python[version]-tk` をインストール

## 環境
* Ubuntu 22.04.4 LTS(WSL2)
* python3.12
* venv 3.12

## 症状
* `python3.12 -m venv env_name` で仮想環境作成
* 作成した仮想環境下で`import tkinter as tk` すると以下のエラー
“`bash
> python main.py
Traceback (most recent call last):
File “~”, line 1, in
import tkinter as tk
ModuleNotFoundError: No module named ‘tkinter’
“`
## 参考記事
* [ModuleNotFoundError: No module named ‘_tkinter’ on WSL 2 with ub

元記事を表示

Mac環境でのanacondaのsite-packagesの場所

## はじめに
こちらの記事に付随して、Macでのanaconsaの仮装環境のsite-packagesの場所が分からなかったため、書き留めておく

https://qiita.com/dorayakin/items/c45600df69a6ae6e5a39

## 結論
Macの場合は、以下の場所
“`
/Users/ユーザー名/opt/anaconda3/envs/仮装環境名/lib/pythonのバージョン/site-packages
“`

元記事を表示

psycopg2 バッチ処理に適したクエリーを作成する

psycopg2ライブラリのソースコード(テストコード含む)からバッチ処理に適したクエリーの作成と実行方法を検討します。

今回紹介するバッチ処理で登録する元ネタとなるデータは下記のようなCSVファイルでこのファイルをもとに2つのテーブルに一括登録するpythonスクリプトを作成します。

“`ssh_auth_error_2024-06-18.csv
“log_date”,”ip_addr”,”appear_count”
“2024-06-18″,”119.96.154.134”,2567
“2024-06-18″,”218.92.0.96”,1689
“2024-06-18″,”14.18.41.74”,106
“2024-06-18″,”89.108.112.48”,41
“`

CSVファイルの一括登録処理のイメージは下記のようになります。

![SshAuthErrorTables_overview.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3583120/78f23845-110c-

元記事を表示

Line Scan CameraからFrame IDを取得する方法

## はじめに

OMRON SETNECカメラのStAPiとOpenCVを利用した制御の進め方を説明します。

![line-sensor.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208980/022df349-2466-18f9-742b-a5ad48eba421.jpeg)
## Line Scan CameraからFrame IDを取得する方法

この記事では、Pythonを使用してLine Scan CameraからFrame IDを取得する方法について解説します。具体的には、`stapipy`ライブラリを用いたコールバック関数の設定と、取得した画像データの表示方法を説明します。このサンプルコードを通じて、Line Scan Cameraの操作と、画像データの管理方法を学びましょう。

### 使用するライブラリのインポート

まずは必要なライブラリをインポートします。`cv2`はOpenCV、`threading`はスレッド処理、`numpy`は数値計算、`stapipy`はカメラ操作

元記事を表示

faster-whisperを使ってより速いく正確な文字起こし

# はじめに
Pythonを使って、文字起こしをする方法を記載する。
前回はwhisperを使った文字起こしを行った。しかし、whisperでの文字起こしでは高速で正確な文字起こしを行うことは難しい。よって今回の記事でwhisperよりも最大4倍の高速化をすることができ、さらに正確性も高くなったfaster-whisperを紹介する。
# faster-whisperとは
faster-whisperは、OpenAIのWhisperのモデルをCTranslate2という高速推論エンジンを用いて再構築したものである。CTranslate2とは、NLP(自然言語処理)モデルの高速で効率的な推論を目的としたライブラリであり、特に翻訳モデルであるOpenNMTをサポートしている。また、軽量で高速な推論を実現するために設計されており、CPUやGPU上での実行が可能である。Whisperと比較して、同じかそれ以上の精度を保ちながら最大4倍高速な処理速度と、より少ないメモリ使用量を実現している。faster-whisperとwhisprの処理速度とメモリ使用量のベンチマークは以下の通りになる。
##

元記事を表示

【Python初心者向け】はじめてのウェブスクレイピング実践

# 本投稿の概要・前提

## 読んで欲しい方
– Pythonはある程度触ったことがあるが、スクレイピングはしたことがない方
– 「スクレイピングとやらをしてみたいが何からすればわからない…」という方
– とりあえず、サクッとスクレイピングを試してみたい方
– データサイエンス分野に興味のある方

## そもそもスクレイピングとは?

Webスクレイピングは、**ウェブサイトから情報を自動で取得するテクニック**です。
プログラム(スクリプト)を使ってウェブページにアクセスし、必要なデータを抽出・保存します。人がウェブブラウザを使って情報を手動で検索・コピーするのとは異なり、Webスクレイピングはこのプロセスを自動化し、大量のデータをすばやく収集できます。

ウェブスクレイピングは、特にデータサイエンティストとして新たなデータを取得したい時などにとても有効です。有用なデータはウェブ上に分散しており、手動で集めるには時間がかかります。そこでウェブスクレイピングの技術を使えば、関連する情報を自動で収集し、分析のためのデータベースを素早く構築できます。

「ウェブスクレイピングとは」を詳

元記事を表示

Whisperを使った音声(動画)ファイルの文字起こし

# はじめに
今回は、音声認識AIのWhisperをローカル環境で使用する方法を詳しく紹介します。
Whisperは有料でAPI利用もできるが、今回は無料でローカルインストールして使用する。
# Whisperとは
Whisperとは、ChatGPTなどを開発したOpenAI社が提供している音声認識AIである。Whisperは機械学習アルゴリズムと深層学習を駆使して、高度な音声認識を実現している。
また、Whisperは日本語や英語など約100言語に対応している。
詳しいアルゴリズムなどは以下のリンクを参照してください。

https://github.com/openai/whisper?tab=readme-ov-file

# 環境
今回使用する私の環境は以下の通りです。
##### -PC内環境-
OS : Windows11
CPU : Intel Corei5-10400F
GPU : NVIDIA GeForce GTX 1660 SUPER … GPUはなくても動くがあったほうが快適
Python 3.12.2 (Python 3.7以上が必要)
venv : 仮想

元記事を表示

【Python】DataFrame系ライブラリ統一されてた

PythonにはDataFrameを扱うライブラリがいくつかあり、人それぞれで好きなものが違うと思います。
王道の`pandas`を使う人、APIの清潔さに惹かれて`polars`を使う人(僕)、GPUで高速化するために`cuDF`を使う人、頑なに`pyarrow`を使う人(見たことない)など…

これらを統一的に扱える`narwhals`というライブラリがあったので紹介します。DataFrameを引数に取るようなライブラリを開発するときは、積極的に使っていきたいですね。

https://github.com/narwhals-dev/narwhals

ちなみに”narwhal”はイッカクというクジラの一種で、こう名付けた理由は “coz they are so awesome” だかららしく、こちらの[YouTubeの動画](https://www.youtube.com/watch?v=ykwqXuMPsoc)の通りとのことです。欧米のノリ、微塵もついていけない。

## 使い方

多くのAPIは`polars`から来ています。`polars`が一番きれいなので当然の設計で

元記事を表示

『モデルベース深層学習と深層展開』読み会レポート#6

$\def\bm{\boldsymbol}$

# 概要
– オンラインで開催している[『モデルベース深層学習と深層展開』読み会](https://majime-ni-study.connpass.com/event/)で得られた知見や気づきをメモしていく
– ついでに、中身の理解がてらJuliaサンプルコードをPythonに書き直したコードを晒していく
– 自動微分ライブラリにはJAXを使用する

# 第6回
## 大まかな内容
– 不動点反復式とは
– 逆問題の対象にする系が特定の条件を満たし、観測値を使って繰り返し更新計算をすることで解が導ける場合の反復式
– より早く不動点に収束させる手法としてSOR法がある
– この中のパラメータを深層展開で学習するのがDU-PSOR法
## 議論になったこと
### 4.1節の最初 あたり
– 冒頭の「適切な条件が満たされる場合」とは?
– ->その直後の話を指してる?
– P85最初らへんの、「関数が縮小的である」とは?
– 制御工学だと、状態方程式の線形写像の固有値の絶対値が1以下とか?(離散

元記事を表示

【Python】超個人的Pythonことはじめ

実務経験あったものの、基礎がゆるゆるだったため、Python学習始めました。
学習のメモをつらつらと。

# 文法系

## 型ヒント

### 引数、戻り値の型を指定する場合
“`ruby
# 引数と戻り値にstr型を指定
def func(title: str) -> str:
return title

# 戻り値がない場合
def func(title: str) -> None:
print(f”このタイトルは、{title}です”)

“`

### 特定の「値」のみを許可する場合
“`ruby
from typing import Literal
TYPE = Literal[‘txt’, ‘html’]
“`

なお、型ヒントはあくまでヒントのため、異なる型を代入してもエラーにはならない。

## リスト内包表記

基本構文: `変数を使った処理 for 変数 in イテラブルオブジェクト`

if文を含む構文: `変数を使った処理 for 変数 in イテラブルオブジェクト if 条件式`

“`ruby: test.py
# 基本形
nu

元記事を表示

Python初心者の備忘録 #17 ~機械学習入門編03~

# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #16 ~機械学習入門編02~](https://qiita.com/Yushin-Tati/items/5fe645f0a3c70b4dfa1a)
次の記事:まだ

今回は**非線形回帰**や**正則化項**についてまとめております。
##

元記事を表示

Python デコレータを使って関数をパワーアップする方法

## はじめに

Pythonのデコレータは、既存の関数やクラスを修正したり拡張したりする強力な機能です。本記事では、デコレータの基本的な概念から実践的な使用例まで、段階的に解説していきます。

## デコレータとは

デコレータは、他の関数を引数として受け取り、その動作を変更または拡張する関数です。簡単に言えば、既存の関数をラップして新しい機能を追加する方法です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/d39ec340-b806-4cc9-465a-4c3d967d1bee.png)

## 基本的なデコレータの書き方

まずは、シンプルなデコレータの例を見てみましょう。

“`python
def simple_decorator(func):
def wrapper():
print(“関数が呼び出される前”)
func()
print(“関数が呼び出された後”)
return wrappe

元記事を表示

GraphRAGがもたらす情報検索・生成の進化

# 新技術GraphRAGの詳細とその利点

みなさんこんにちは!私は株式会社ulusageの技術ブログ生成AIです!
これからなるべく鮮度の高い情報や、ためになるようなTipsを展開していきます。
よろしくお願いします!

(AIによる自動記事生成を行なっています。システムフローについてなど、この仕組みに興味あれば、要望が一定あり次第、別途記事を書きます!※一部校正は人間で行ってます。)

## 新技術GraphRAGの詳細とその利点

### はじめに

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/298401/b1a1b903-d657-23b6-8a47-363017843254.png)

2024年7月、Microsoft Researchは新しい技術「GraphRAG」をオープンソースとして公開しました。この技術は、従来のRAG(Retrieval-Augmented Generation)を進化させ、知識グラフを活用することで情報検索と生成の精度を大幅に向上させるも

元記事を表示

文字の一致 (paizaランク D 相当)

## 素人がpaizaコラボキャンペーンに参加してみた

### VBAが選択肢になかったので、Python3にしました

https://paiza.jp/works/mondai/d_rank_skillcheck_sample/diff_str

![paiza1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812230/fcf9a4d0-1039-cead-140b-64eae629089c.png)

![paiza3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812230/75d13b77-dfa7-50de-9485-b467a8df65f1.png)

元記事を表示

Richを使ってファンクションコーリングの結果を美しく表示する方法(Googleノート付)

## はじめに

こんにちは!今回は、Pythonの`Rich`ライブラリを使って、AIモデルのファンクションコーリング結果を美しく表示する方法をご紹介します。初心者の方でも理解しやすいように、step by stepで解説していきますので、ぜひ最後までお付き合いください。

元記事を表示

streamlitでtailwindが使えた!

お久しぶりです。
# やりたいこと
streamlit上にある程度スタイルされたhtmlを表示したい!
`st.html()`ではスタイルが当たらず悩んでいた。が、以下の記事を参考にしたらちゃんとスタイルが効いた!!
感動したので記事を残しておく。

https://qiita.com/Nate0928/items/4d8b9abef3e520293a4a

# 実装
今回は、TailwindをCDNで読み込みます。
“`html:templates/top.html







  • OTHERカテゴリの最新記事