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

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

テスト

Python 2.7でXMLファイルを解析し、更新日付が120日以内のディレクトリ名を出力するスクリプトを作成します。Python 2.7では、`xml.etree.ElementTree` モジュールを使用してXMLの解析を行うことができます。以下はそのためのスクリプト例です。

この例では、svnのxml出力ファイルが `svn_info.xml` という名前であると仮定しています。また、svnのxml形式が具体的にどのような構造を持っているか不明なため、一般的な形式に基づいてスクリプトを作成します。更新日付が含まれている要素や属性の名前を、あなたのファイルの実際の構造に合わせて適宜変更してください。

“`python
import xml.etree.ElementTree as ET
from datetime import datetime, timedelta

# SVNのXMLファイルを読み込む
tree = ET.parse(‘svn_info.xml’)
root = tree.getroot()

# 現在の日付と120日前の日付を計算
now = datet

元記事を表示

Vision Transformer:オリジナルデータでクラス分類のFineTuneする

# Fine Tune ViT

### はじめに
HuggingFaceのTransformersと事前学習モデルが便利なので、
それらとオリジナルデータセットを抱き合わせて簡単にファインチューニングをしてみようと思います.

環境はGitにDockerFileを準備しているので、適宜使ってみてください.
> [Chamusuke/docker_vit](https://github.com/Chamusuke/docker_ViT)

一応シンプルなViT以外にも[Huggingface](https://huggingface.co/docs/transformers/model_doc/vit)には、ResNetやMobileViTなどいろいろあり、`import`を変えればFineTuneを試すことができます.ただ筆者の4GBのGPUでは、メモリ不足で全ては試せていません、、、

企業の方は、DockerやHuggingfaceにおいてプロキシの壁があると思います.このあたりはまた別記事でかけたらなと思います.

Colabで動かす場合、DockerFileの内容を展開してい

元記事を表示

Django(Django Rest framework)学習記録 ~models.py編~

# 初めに
django(Pythonも学び中)を学んでいるので、メモ代わりに学んだことをまとめていきます。
まずはmodels.pyについてまとめていきます。Pythonについても学んでいるので、Pythonの構文など気になったところも取り上げていきます。
まだまだ、情報系自体について学び始めたところなので、間違っているところもありますが、よろしくお願いします。

# models.pyとは
アプリケーションとデータベースを連携させる仕組み。データベースの検索、取得、追加、削除などの操作が可能。

# 実際にコードを見て気になったところを取り上げていく
アカウント登録等のAPIを作成したときに参考にしたコードを使用する。
参考元は[こちら](https://zenn.dev/iccyan/articles/66e0245c854137)。
“`
from django.db import models

class User(models.Model):
user_id = models.CharField(max_length=20, unique=True)
p

元記事を表示

人工知能で、ペットの蚕の動きを解析して、懐いているか検証してみた

![スライド2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001770/34373900-f14e-85f7-3b9a-738d86e86303.jpeg)

# 人工知能でペットの蚕の動きを解析して、懐いているか検証してみた

私たちがペットとして飼う動物といえば、犬や猫が一般的ですが、意外と知られていないペットがいます。それは「蚕」です。蚕は主に絹糸を生産するために飼育されてきましたが、その独特の生態や動きに魅力を感じ、ペットとして飼う人々もいます。しかし、蚕が人間に懐いているかどうかを判断するのは、従来のペットと比べて非常に難しい問題です。

そこで、この記事では、最先端の人工知能(AI)技術を用いて、蚕の動きから彼らが人間に懐いているかどうかを検証してみることにしました。AIがどのように動きを解析し、蚕と人間との間にどのような相関関係が見つかるのか、その興味深い結果を皆さんに共有します。

## 蚕と人間との意外な関係

蚕と人間の関係は、何千年も前から始まりました。絹糸の生産という経済的

元記事を表示

scikit-learn とのアナロジーから見る LangChain Expression Language (LCEL)

## 概要

本記事では、LangChain Expression Language(LCEL)を紹介し、その基本概念を scikit-learn とのアナロジーに触れて理解を試みます。

結論はこちら↓↓
[何が似てるの?](#何が似てるの)

:::note warn
本記事で提供されているコードは、特定の環境や条件下での動作を示すものであり、全ての環境やケースで同様に機能するとは限りません。また、時間の経過とともにソフトウェアの更新や互換性の問題が生じる可能性があるため、掲載されているコードが最新の状態であるとは限りません。本コードの使用は、読者の責任において行ってください。実行する前に、コードをよく理解し、必要に応じて環境に適合させることを推奨します。また、可能な限りバックアップを取ることを忘れないでください。本記事の内容やコードに関する質問や改善提案があれば、コメント欄やソーシャルメディアを通じてお知らせください。
:::

## はじめに

LLM が流行って一年程度。技術の進歩の早さに焦りを感じながらもインプットしたものを気が向くままにアウトプットしていきます。

さて本

元記事を表示

pythonのprint()の上位互換icecreamが使いやすい話

## 使いやすい
お恥ずかしながらたまにデバッグモード使うのもめんどくさいとき、printに頼った経験は皆さんも多々あると思いますが、loggerとかと併用してたり、print文がそもそも多かったりすると、どの行のprintがどの出力かわかんなかったりします。

“`python
def multiply(a, b):
return a * b

print(multiply(1, 2))
print(multiply(3, 4))
print(multiply(4, 5))
print(multiply(5, 6))
print(multiply(6, 7))
print(multiply(7, 8))
print(multiply(8, 9))
“`

出力
“`python
6
12
20
30
42
56
72
“`

「上から5行目だから、、、1,2,3….」

その対策として、以下のようにする人もいるかもしれません。(私です)

“`python
print(multiply(6, 7), ‘5行目’)
“`
これいちいち書くの面倒ですし、誰にも見

元記事を表示

ChatGPT との会話(偏差値を求めるプログラムについて)

ChatGPT 3.5 と暇つぶしの会話をしてみました。

User
以下のプログラムの性能・品質を評価してください。

“`Python
import numpy as np

def calculate_deviation_scores(scores):
average_score = np.average(scores) # 平均値を計算
standard_deviation = np.std(scores) # 標準偏差を計算
deviation_scores = [] # 偏差値を格納するためのリスト

# 各学生の偏差値を計算
for score in scores:
deviation_score = 50 + 10 * (score – average_score) / standard_deviation
deviation_scores.append(deviation_score)

return deviation_scores

# 模擬データ
scores = [92,

元記事を表示

高速画像生成 SDXL-Lightning

# 1秒画像生成

速くて高品質。
A100GPUで試すと1秒台で生成。
漸進的敵対的拡散蒸留法というのを使っているらしい。

“`
person disassembling a computer
“`
![e612329b-5398-47fc-9ad0-b3b9e6d306b2 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/17dd556d-de2d-d600-e9b0-d0e4994065dd.png)

# 使い方

“`bash
pip install diffusers
“`

### インストール

“`python
import torch
from diffusers import StableDiffusionXLPipeline, UNet2DConditionModel, EulerDiscreteScheduler
from huggingface_hub import hf_hub_download
from safetensors.torch

元記事を表示

ラズパイ5 2023年10月更新 bookworm ⑥ CPUの温度を4桁7セグメントLED表示器に

 ラズパイ4を用いた<[ラズパイ 2023年10月更新 bookworm 連載記事](https://www.denshi.club/parts/2024/02/202310-bookworm-6-cpu.html)>をラズパイ5で再検証した記事です。

 [前回](https://qiita.com/jamjam/items/c9b76e7c6a36feea030a)、I2Cバスに接続した4桁7セグメントLED表示器に、室温を表示しました。ここでは、ラズパイ本体のCPUの温度を表示します。

![IMGP2095.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407635/543ff047-a71f-7f1e-521f-01c618839559.png)

### CPU温度の取得

“`shell
$ vcgencmd measure_temp

temp=37.4’C
“`

 pythonで実行して、温度を取得します。subprocessライブラリを利用します。

 最初に、s

元記事を表示

transformersのモデルのダウンロードについて

## 目的

transformersのモデルをローカルにダウンロードする方法を示す。

## 動機

transformersで作業を続けているとき、アップデートが
入ると再ダウンロードが必要になる。Phi-2で約5GBの保存容量が必要になり
ダウンロードの度にそれなりの時間がかかり煩わしい。(光回線が引けない家🥺)

## コード

AutoTokenizerやAutoModelForCausalLMのsave_pretrained関数のsave_directoryという引数に
保存先を指定するとモデルを指定場所に保存できる。
保存したあとはfrom_pretrainedのpretrained_model_name_or_path引数に保存した場所を指定すれば
モデルを読み込み使用できる。

“`python

from pathlib import Path
from transformers import AutoTokenizer, AutoModelForCausalLM

def get_tokenizer_and_model(pre_trained_model_n

元記事を表示

Python Selenium with文を使ってwebdriverの閉じ漏れをなくす

# はじめに
本記事のコードは以下の環境で検証しています。
※OSやバージョンが異なる場合、挙動が変わる可能性があります。

OS: Windows10
Python: 3.12.2
selenium: 4.17.2

ブラウザはChromeで記載していますが、Firefoxなど別ブラウザでも同様の対策ができるようです。

# driverの生成の仕方でwebdriverが残存することがある
driverを生成する方法によっては**driverを閉じることが出来ず、プロセスが残ってしまう**ことがあります。
これによりメモリなどを無駄に使ってしまい、リソースを圧迫し他のプログラムに影響を与えてしまうことがあります。
こういったwebdriverの閉じ漏れ、対策方法についてまとめていきます。

# driverが残存するおそれのある書き方
それではいきなり、driverが残存する**おそれ**のある書き方を見てみましょう。
“`python:
from selenium import webdriver

driver = webdriver.Chrome()

driver.ge

元記事を表示

pythonでzipファイルを解凍する

## 前提
ゴールとしてawsのs3にupされたzipファイルをトリガーにlambdaを動作させzipファイルの中身を編集しs3UPするものを作りたいので
手始めに今回はローカルでpythonの実行ファイル用意してzipファイルを解凍する簡単な処理を試してみる備忘録です

## 条件
zipファイルを展開する時に「.csv」以外の拡張のファイルは邪魔になるので解凍するのは「.csv」ものだけにします

## 実戦

“`test_csvs.zip
test_csvs.zip
└sample1.csv
└sample2.csv
└sample3.csv
└main.py
└sample.py
“`

“`test.py
import zipfile
import os

def unzip_files(zip_file_path):
# 現在のスクリプトが実行されているディレクトリを取得
extract_to_path = os.path.dirname(os.path.abspath(__file__))

with zipfile.ZipFile(zip_

元記事を表示

win-raw-inでRaw Inputを使う

## win-raw-inとは

https://github.com/holl-/win-raw-in

Pythonでraw inputを使うためのモジュールです。

readme.mdにも書いてある通り、Windowsで複数の入力デバイスを識別するために必要なものです。

> This package was inspired by the keyboard package. Unfortunately, keyboard does not distinguish between multiple input devices on Windows.

[Raw Input](https://learn.microsoft.com/en-us/windows/win32/inputdev/raw-input)はWindowsで複数HIDデバイスを取り扱うのに便利です。C++ではAPIを叩けばよいですが、Pythonから、となるといろいろ面倒です。
win-raw-inを使えばその面倒を回避できるので大変ありがたいです。

## インストール

“`bash
$ pip insta

元記事を表示

Pythonで環境変数を設定する(dotenv)

右も左もわからずの自分がやってみて面白かったとか、備忘録とかにした方がいいと思った物を記事にしたものなります。もし、必要な方にいらっしゃったら、この記事が役に立てたら嬉しいと思います。
* * *

pythonのキャリアが浅すぎる私。
とりあえず、なんでもいいから最小規模のWebアプリを作りながら勉強と思っていた。
APサーバーからDBに繋ぐためのIDとPWなどをベタがきでソースに書いておいたが、
これをどこかに格納する必要があると思った。
pythonでは何で管理しているんだろう🧐

“`python:main.py
DB_HOST=localhost
DB_USER=riku
DB_PASSWORD=Biru-Nomitai
“`

## python-dotenvパッケージ
他のパッケージも多いと思うが、自分が取り入れてみたのは「python-dotenv」だ。

インストールはこちら。
“`python:terminal
pip install python-dotenv
“`

Pythonではpython-dotenvを用いて「.env」ファイルを読み取ることがで

元記事を表示

音声データをテキストへ:WhisperとPythonで簡単変換のテクニック

## はじめに

この記事では、Pythonを使って大きな音声ファイルを分割し、各部分をテキストに変換する方法を紹介します。
これには`openai`と`pydub`ライブラリを使用し、特にOpenAIのAPI(`whisper`)を活用して高精度な音声認識を行います。

OpenAIのAPIで文字起こしができるファイル容量の上限は`25MB`なので、それよりも大きい音声ファイルを扱うときに、ファイルを分割して文字起こしをするプログラムを紹介します。

## 必要なライブラリのインストール

まず、必要なライブラリをインストールしましょう。
これらのライブラリはPythonの環境によってはデフォルトでインストールされていない可能性があるため、以下のコマンドでインストールしてください。

“`bash
$ pip3 install tiktoken cohere openai pydub
“`

## プログラムのコード

以下が本プログラムの全体のコードです。
このプログラムは、大きな音声ファイルを分割し、それぞれの部分をテキストに変換する機能を持っています。

“`pytho

元記事を表示

Tesseract OCR メモ

PDFをTesseractでOCRするメモ

***

# Tesseract OCRのインストール手順

1. **Tesseractのインストール**:

2. **Tesseract OCRの最新版をダウンロード**:
* Tesseract OCRの[公式GitHubリリースページ](https://github.com/tesseract-ocr/tesseract/releases)から、最新版のWindows向けインストーラーをダウンロードします。

3. **Tesseractのインストール**:
* ダウンロードしたインストーラーを実行し、「管理者として実行」を選択してください。インストールプロセスを進め、インストールが完了するまで待ちます。
* インストール時に、必要な言語データ(例えば、日本語を含む)を選択するオプションがある場合は、適切な言語データを選択してください。

4. **環境変数PATHの確認**:
* インストール後、Tesseractの実行ファイルがインストールされたディレクトリ(通常は`C:

元記事を表示

ChatGPTを使いながらRPGゲームを作成する(その8) バトル画面切り替えと敵の制御

### 本日の目標
Map画面で敵に遭遇して、戦闘画面へ切り替わること
遭遇した敵の画像がそのまま戦闘シーンへ転送

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/576081/9e0d1dd9-c24c-e8be-7148-66adfab3ea0c.png)

### やること整理
* battleクラスを整理
* Playerが敵と遭遇したタイミングでバトル画面へコール
* 敵を倒した想定でMapから敵を削除し、Map画面へ遷移する(アニメーションは再開する)
* 戦闘画面になったらアニメーションを停止する
* 敵を倒したら、Map画面へ遷移する

以下はやらない
* 敵の数の管理
* 敵の名前と画像の紐づけ
* 敵を無限に生成するループはいったん停止
* 戦闘画面に複数の敵はとりあえず、やらない(前回で複数の敵を配置できたので)

### 重要ポイント

* 敵遭遇したら、アニメーションを停止、敵遭遇判定を止める
“`py
def show_battle_popup(self):

元記事を表示

EOFの意味は?

なぜecs[EOF]がある?

https://allabout.co.jp/gm/gc/471930/

なぜ、「;」を採用している?

元記事を表示

深層学習でピザの売り上げ予測

今回予測の目的は現職で販売をしており、時系列データで予測を行うことにより自店舗の売り上げ予測も出来ると考えまずは練習として自分の好物のピザで売上予測をしてみました。 機械学習の勉強を始めて6ヶ月が経地ましたが実際のデータでモデル構築は経験していなかった為、不安ですがこれまでの経験も活かしつつ、これから機械学習を勉強する人への参考記事にもなったら良いなと思っています。

## 目次

[はじめに](##-はじめに)
[自己紹介](##-自己紹介)
[データの中身](##-データの中身)
[実行環境](##-実行環境)
[データの状態](##-データの状態)
[必要モジュール](##-必要モジュール)
[1.データの読み込み](##-1.データの読み込み)
[2.データの整理](##-2.データの整理)
[orderの最適化関数](##-orderの最適化関数)
[モデルの構築](##-モデルの構築)
[結果](##-結果)
[まとめ](##-まとめ)

## はじめに
初めまして。転職を考えるうちに自分の人生や働き方について深く考えるようになりました。異業種にチャレンジしたいという気持ち

元記事を表示

【Python】エラー「/lib64/ld-linux-x86-64.so.2: No such file or directory」の解決方法

# 概要
Python数理最適化ライブラリ`pulp`を`docker-compose`上で利用したら以下のエラーになりました。

“`
/lib64/ld-linux-x86-64.so.2: No such file or directory
“`
“`
‘Pulp: Error while trying to execute, use msg=True for more details/usr/local/lib/python3.6/site-packages/pulp/solverdir/cbc/linux/64/cbc’
“`

### 前提(Mac環境)
– 機種ID:MacBookPro18,3
– macOS:Monterey
– チップ:Apple M1 Pro
– メモリ:16GB

# 原因はホストOS
調べてみると、このエラーは、Docker環境下ではM1チップで実行不可能なソルバーが実行されているのではないか?とのこと。

参考:
[Pythonの最適化ライブラリPuLP をM1 Mac × Dockerで動かす](https://zenn.dev/

元記事を表示

OTHERカテゴリの最新記事