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

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

Keras3 にしたら古いモデルが読み込めなくなった話

## 背景
`Ubuntu` を `22.04` から `24.04` に更新して、以前作成したトレーニング済みモデルをロードしようとしたら、読み込めなくなったので、その試行錯誤と解決方法をまとめる。

## 動作確認環境
• `LinuxOS Ubuntu 24.04.1 LTS`
• `Python 3.12.3`

## 免責事項
その前に、このスクリプトの実行は自己責任でお願いします。本スクリプトを実行することにより生じるいかなる問題に関しましても、筆者は一切責任を負いません。予めご了承ください。

## `from tensorflow.keras.callbacks import ModelCheckpoint` でチェックポイントを登録しようとしたら失敗した。

“`Python
from tensorflow.keras.callbacks import ModelCheckpoint

checkpoint = ModelCheckpoint(filepath=’MODELS/model{epoch:02d}’)

ValueError: The filepa

元記事を表示

【合格体験記】Python3エンジニア認定基礎試験

# Python3エンジニア認定基礎試験に合格した話
## はじめに
先日『Python3エンジニア認定基礎試験』を受験し、無事合格しました。

受験した動機については、Pythonの基礎勉強が概ね終わり、Djangoや各種ライブラリの勉強を本格的に始めていく前に、体系的な要素を忘れないうちに資格を先に取っちゃおう!と思ったからです。

結果は以下の通りでした。
準備は十分に行い満点を取るつもりでしたが、対策していない問題が多く、お恥ずかしながら案外分からない問題が所々ある状態でした(笑)

点数:800/1000(合格評価点:700)
準備期間:約2週間弱
教材:Pythonチュートリアル(書籍)、Dive Into Code

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665882/69f2e2ae-266a-703f-30b3-87cd90db80bf.png)

## 学習方法
僕の学習方法は、主に以下の方法で進めました。

1. Pythonチュートリアルで書籍学習(1週間

元記事を表示

【OCI Compute】cloud-initでApache Webサーバを構成する

# はじめに
通常、Compute インスタンスを作成後に、ssh 等でサーバにログインし、Apache などインストールするような構築作業を行う。

Compute インスタンスを作成する時にcloud-init スクリプトを追加することで、インスタンス立ち上げ後にcloud-init スクリプト実行されるため、サーバにログインしていくつものコマンド実行するといった手間を省略することができる。

今回、多くの人になじみの深いシェルスクリプトで記述する。

cloud-init の詳細は[公式マニュアル](https://cloudinit.readthedocs.io/en/latest/index.html#)を参照してほしい。

# ゴール
OCI Compute インスタンスを作成する時にcloud-init スクリプトを利用して、初期セットアップを試してみる。

# 事前準備
以下の内容を事前準備しておくこと
– VCNウィザードの「インターネット接続性を持つVCNの作成」を利用して、VCNおよびパブリックサブネット、セキュリティリストなどを作成

# 対応手順
## 1

元記事を表示

RDKit database cartridgeを用いた化合物データベースのORMとしてSQLModelを使用する方法

# はじめに
化合物データベースを[RDKit database cartridge](https://www.rdkit.org/docs/Cartridge.html)(以下、RDKitカートリッジ)で構築する際に、ORMとして[SQLModel](https://sqlmodel.tiangolo.com/)を使用するサンプルコードを公開しました。

https://github.com/savvan0h/sqlmodel-rdkit-example

# 動機
RDKitカートリッジをPython Web フレームワークと統合する際、Djangoで[django-rdkit](https://django-rdkit.readthedocs.io/en/latest/)を使うケースが多いのではないでしょうか。
このライブラリは[公式ドキュメント](https://www.rdkit.org/docs/Overview.html#integration-with-other-open-source-projects)でも紹介されており、選択肢の一つとして有力です。

しかし、特

元記事を表示

【Python】ペイント機能と手書き数字認識

# はじめに
2020年くらいにE資格を取ったのですが、だいぶ忘れてしまったので、復習しようと思い立ち、数年ぶりに投稿します。まずは定番の手書き数字認識から。

# 作ったもの
– モデルを訓練し、保存
– scikit-learn
– MNIST
– SVM
– ペイント機能
– Tkinter
![スクリーンショット 2024-09-17 074212.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/689015/52bc7eba-f950-2cd4-041e-3ef24b752f8a.png)
– 予測
“`
# こんな感じの結果が出る
array([‘4’], dtype=object)
“`

# Import
ライブラリをインポートします。
“`python
import joblib
import numpy as np
import tkinter
from PIL import Image, ImageFilter
from sklearn impo

元記事を表示

PythonでAvroを使って実現するデータシリアライゼーションのチュートリアル

## 第1章: Avroとは

Avroは、Apache Software Foundationが開発したデータシリアライゼーションフレームワークです。主にHadoopエコシステムで使用されていますが、他の多くのシステムでも利用可能です。

Avroの主な特徴は以下の通りです:

1. スキーマベース: データ構造を定義するスキーマを使用します。
2. 言語に依存しない: 様々なプログラミング言語でAvroを使用できます。
3. 効率的なデータ圧縮: バイナリフォーマットを使用し、データを効率的に圧縮します。
4. スキーマの進化: 時間とともにスキーマを変更できます。

Pythonでは、`avro`ライブラリを使用してAvroを扱います。以下のコマンドでインストールできます:

“`python
pip install avro-python3
“`

## 第2章: Avroスキーマの作成

Avroスキーマは、JSONフォーマットで定義します。以下は簡単な例です:

“`python
import json

schema = {
“namespace”: “ex

元記事を表示

paizaラーニング問題集「【階段の上り方】階段の上り方3」を解いてみた

▼感想:

n=5, a=2, b=3, c=何でもよい とします。
cの値によらず、
5段の階段を上る方法は少なくとも1通り以上存在すると思います。
1歩目で2段(a)、2歩目で3段(b)行けば、5段になるからです。

しかし、どうも違うようです。dp[5]は0です。
dpの値を書き出したところ、そうなりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881331/45ea6c1d-7336-20d5-5e86-31152d147b66.png)

題意を誤解しているかもしれません。
そもそも、まだDPのことを理解できていないのかもしれません。
もう少し考えてみたいと思います。

▼コード:
“`py
########## 処理0(準備) インプット,リスト定義など ###########

n,a,b,c = map(int,input().split())

########## 処理1 漸化式の定義、計算、出力 ##########

dp = [0]*(30+1)

元記事を表示

ChromeDriver がなにもしてないのにぶっ壊れたとき

昨日までできていたChromeDriver ダウンロードはwebmanager で自動的に適切なものを持ってくるようなコード

“` python
driver = webdriver.Chrome(ChromeDriverManager().install())
“`

# 発生したエラー

“` bash
OSError: [Errno 8] Exec format error:
‘/Users/xxx/.wdm/drivers/chromedriver/mac64/128.0.6613.137/chromedriver-mac-arm64/THIRD_PARTY_NOTICES.chromedriver’
“`

# 原因と対応

webdriver-manager のキャッシュに問題がある可能性があるため、
キャッシュをクリアして再度 chromedriver をダウンロードさせる

“`bash
rm -rf ~/.wdm/drivers
“`

で動いた

元記事を表示

[Pythonしたいことの前にやるべきことを実行するプログラム

## 背景
やるべきことはたくさんあるのに、気づけば遊んでしまっていることってあると思います。そんな事態を予防するためにスクリプトを作成しました。

## 概要
したいことの前にやるべきことを実行するpythonスクリプト
exeファイルを実行し、その処理が終了後、別のexeファイルを実行する

:::note warn
Windowsでのみ動作(exeファイルを使用するため)
:::

## 機能
– 実行機能
1. やるべきことのexeファイルを実行
1. やるべきことのexeファイルが終了するまで待つ
1. やるべきことのexeファイルが終了後、やりたいことのexeファイルを実行する
– パス変更機能
下記二つのファイルパスを変更
– to_do_path: やるべきことのexeファイルパス
– to_enjoy_path: やりたいことのexeファイルパス

## 使い方
– 実行する場合
“`bash
python do_before_enjoy.py
“`
– パスを変更する場合
“`ba

元記事を表示

HackTheBox Intuition WriteUp

今回はHackTheBoxのHardマシン「Intuition」のWriteUpです。
マシンの名前である「Intuition」は翻訳すると「直感」となります。直感に従って攻略することが大切なのでしょうか。。どのようなマシンなのか楽しみです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1664764/04b6cc5a-7b3d-f481-bd86-463350b689d1.png)

グラフはさすがHardマシンといった感じですね。
Hardなので、少し苦戦するかもですが攻略目指して頑張ります!

HackTheBoxって何?という方は下記の記事を見てみてください!一緒にハッキングしましょう〜!

https://qiita.com/WhizOwl/items/165783694cb4791cff34

また、HackTheBoxで学習する上で役にたつサイトやツールをまとめている記事もあるので、合わせてみてみてください!

https://qiita.com/Perplex/ite

元記事を表示

24時間AIハッカソン Powered by GALLERIA に参加して使った技術のまとめ

# 初めに
2024/9/14-2024/09/15で行われたハッカソン
[24時間AIハッカソン Powered by GALLERIA](https://www.aifestival.jp/hackathon)

https://x.com/24aihackathon/status/1835273985820615116

そこで僕たちが作ったプロダクト
肩乗せ型おしゃべりスピーカ

https://docs.google.com/presentation/d/14VJGOKSQFBIHeJiUK0JRTbCpGEAh5PY_tFy33SupxOY/edit?usp=sharing

そこで使った技術についてまとめたいと思います。
ここでまとめと言うのは技術について詳しい人が使い道やら
技術解説をするものでは無く。

自分用の使った事を忘れないように書いた物になります。

## 技術

[opneai whisper](https://github.com/openai/whisper)
[chatgpt api](https://platform.openai.com/docs/

元記事を表示

【ピーク検出】find_peaksのプロミネンスに関して実例で見てみる

# 0. はじめに

この生成AI時代に私がピーク検出を始めて検討した時も「Claude3」「GPT 4o」等活用してきましたが、どの回答も起きている現象を理解することが出来ず間違って回答しており、**結局ドキュメントを見ながら検証をした**のでそれを共有するものです。

特にscipyのfind_peaksに関して色々検証しましたが、**本記事では生成系AIが間違った解釈を返信し。私が一番最後まで理解が難しかった「prominence」とは何ぞや?というのを図を交えて実例で説明する記事です**
気軽にメモ代わりに書いたので、ググってたどり着いた方は良ければ読んでいってください

https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.find_peaks.html

※以下が同じような概念のpeak_prominencesです(公式ではここの図が一番わかりやすいかもです)

https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.pe

元記事を表示

PythonのNewspaper3kで簡単にニュース記事を抽出しよう

## 第1章: Newspaper3kの概要

Newspaper3kは、Pythonで書かれたニュース記事抽出ライブラリです。ウェブサイトからニュース記事を簡単に取得し、テキスト、画像、メタデータなどを抽出できます。

“`python
import newspaper

# CNNのニュースソースを作成
cnn_paper = newspaper.build(‘http://cnn.com’)

# 記事の数を表示
print(f”CNNの記事数: {len(cnn_paper.articles)}”)
“`

## 第2章: インストールと基本設定

Newspaper3kをインストールし、基本的な設定を行います。

“`python
# インストール
!pip install newspaper3k

# 必要なライブラリをインポート
import newspaper
from newspaper import Article
import nltk

# 必要な自然言語処理のデータをダウンロード
nltk.download(‘punkt’)
“`

## 第3章:

元記事を表示

【Python】Theanoで実現できる機械学習モデルとは

## はじめに

Theanoは、Pythonで機械学習モデルを効率的に開発するためのライブラリです。複雑な数学的表現を定義し、最適化し、評価することができ、特に多次元配列を扱う際に威力を発揮します。このチュートリアルでは、Theanoの基本から応用まで、15章にわたって詳しく解説していきます。各章では、概念の説明とともに具体的なコード例を提供し、Theanoの理解を深めていきましょう。

## 第1章: Theanoの基本

Theanoは、数式を定義し、それを効率的なコードに変換する強力なツールです。まずは、簡単な例から始めましょう。

“`python
import theano
import theano.tensor as T

# スカラー変数の定義
x = T.dscalar(‘x’)
y = T.dscalar(‘y’)

# 演算の定義
z = x + y

# 関数の作成
f = theano.function([x, y], z)

# 関数の実行
result = f(2.0, 3.0)
print(result) # 出力: 5.0
“`

この例では、

元記事を表示

RPiOS Lite(bookworm)でPirate Audioを使う

# Pirate Audioってなんだ

Pirate Audio

 [英国Pimoroni社](https://shop.pimoroni.com/)のpHAT(RPi用のアドオンボード)です。DAC・2.7インチディスプレイ・ちょっとしたボタン、がひとまとめになっていて、RPiZeroのボードプロファイルに合わせたサイズ。 [スピーカーアンプ付き](https://shop.pimoroni.com/products/pirate-audio-3w-stereo-amp?)や[マイク付き](https://shop.pimoroni.com/products/pirate-audio-dual-mic?)などいくつか種類がありますが、[LINE出力の](https://shop.pimoroni.com/products/pirate-audio-line-out?)を選んでしまうとふだん遊ぶのに音声接続がめんどくさいことになりそうで、[ヘッドホンアンプ付き](https://shop.pimoroni.

元記事を表示

【初心者向け】Python 仮想環境起動まで(Windows)

## はじめに
こんにちは!初心者プログラマーのジンです!
今日はいつも、Pythonプロジェクトを進める上で、
仮想環境を立ち上げるコマンドを忘れてしまうので、
ここにまとめようと思い記事にしました!
(Windowsです)

## コマンド
Windowsの
コマンドプロンプト
もしくは
PowerShellを開く。

プロジェクトフォルダに入る。
(自分はいつもcd+半角スペース ドラッグ&ドロップで移動してます)
“`
cd Python-app(任意のフォルダ名)
“`

コマンドプロンプトでは
“`
C:\○○\△△\Python-app(任意のフォルダ名)>
“`
となってればよい。
そこで下のコマンド

“`
python -m venv 仮想環境名
“`

これで仮想環境はできています。
例えば
“`
python -m venv venv
“`
と入力すると
venvという仮想環境名で
仮想環境が立ち上がります。

後は
“`
venv(任意の仮想環境名)\Scripts\activate
“`
を入力すると
“`
(venv) C:\○○\

元記事を表示

プログラミング初心者が はじめてのPythonアプリを完成させるまで

## はじめに
Pythonを学び始めて2か月が経ちました。何かアプリを作りたいと考えていたところ、業務効率化アプリのアイデアが浮かびました。この記事では、具体的なアプリの内容は最小限にとどめ、初心者が何を参考にし、何を学び、どのような流れでアプリを完成させたのかについて書きたいと思います。

## どんなアプリ?
某私鉄のPDF領収書の宛名欄に、社名を自動入力するアプリです。私の会社では経費申請が電子的に行われるため、私鉄のサイトからダウンロードした領収書の宛名に自社名を入力する必要があります。Adobe Acrobat Readerを開いてテキストボックスを選択し、自社名を打ち込むという作業が地味に苦痛でした。時間はそれほどかからないものの、往復で2枚ありますし、テキストボックスを適切に配置するという感覚的な作業が好きになれませんでした。

![receipt240916.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3886913/f15e51c6-b0f5-efa4-1e8e-b984e4b7c

元記事を表示

PythonのSageが使いこなせるようになるチュートリアル

## はじめに

こんにちは!Pythonを使ったSageについて、日本語で分かりやすく解説した記事を作成しました。15章構成で、各章には詳細な説明とサンプルコードを含めています。Sageの基礎から応用まで幅広くカバーしていますので、ぜひ参考にしてください。

## 第1章: Sageの概要と環境構築

Sageは数学研究のためのオープンソースソフトウェアで、Pythonをベースに開発されています。数論、代数、幾何学など様々な分野で活用できる強力なツールです。

まずは環境構築から始めましょう。SageMathのウェブサイトからインストーラーをダウンロードし、指示に従ってインストールします。

インストールが完了したら、コマンドラインで以下のように入力してSageを起動します:

“`python
sage
“`

これでSageの対話型シェルが起動し、計算を始められます。

## 第2章: 基本的な計算

Sageでは様々な数学的計算が可能です。以下に基本的な例をいくつか示します:

“`python
# 四則演算
2 + 3
10 * 5
20 / 4
3^2

# 平方根

元記事を表示

(ABC371)D – 1D Country

## はじめに
9/14開催のABC371のD問題です。

https://atcoder.jp/contests/abc371/tasks/abc371_d

## 問題文
### 解釈
N個の村があって、$i$番目の村は座標$X_i$で$P_i$人の村人がいる。
以下の計算をして、返却する。
– 整数$L_i,R_i$が与えられるので$L_i \leq X_i \leq R_i$に含まれる村すべての村人を合計

### 制約
– $1 \leq N,Q \leq 2 \times 10^5$
– $-10^9 \le X_1 < X_2 < \cdots < X_N \le 10^9$ - $1 \le P_i \le 10^9$ - $-10^9 \le L_i \le R_i \le 10^9$ ## 考え方 制約の数値が非常に大きいので、$X_i$を1つずつ見つけたり、加えたりすると恐怖のTLEになるのは目に見えてます。 村をさっと見つけて、合計を少ない計算で出す方法を検討する。 村をさっと見つける => 二分探索
合計を少ない計算 => 累積和

これは数少ない私の知

元記事を表示

Lambda関数でMySQLに接続する

AWSが提供しているライブラリには直接MySQLデータベースと接続する機能は含まれていないため、LambdaでRDSのMySQLに接続する場合、PyMySQLなどの外部ライブラリを使う必要がある。

## レイヤー追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412108/f41bd875-cf0d-41bb-6c7f-74fa61612888.png)

レイヤーソース:ARNを指定
パブリック公開されているレイヤーのARNを指定する

https://github.com/keithrozario/Klayers/tree/master/deployments

ランタイムとレイヤーのPythonバージョンは合わせる
※バージョンが異なると、ライブラリのバイナリや依存関係が異なるため、互換性の問題が生じる可能性がある

## lambdaコード
“`python
import pymysql
import os

def lambda_handler(event, con

元記事を表示

OTHERカテゴリの最新記事