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

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

Pythonを実行しても,Rye を再インストールしても,Bad CPU type in executableと出る.

# TL;DR;
– `rm -r ~/.rye` を実行する.
– `curl -sSf https://rye.astral.sh/get | bash` で入れ直す.

# 経緯
– ~~あまり無いケースかもしれないが,~~ とある理由で,`M1` に入っていた内容を `Intel` に入れ直した.
– `python` コマンドが `Bad CPU type in executable` となって実行できない.
– `which python` と入力すると,`~/.rye` を参照していることがわかる.
– [公式サイト](https://rye.astral.sh/guide/installation/#installing-rye) にあるインストール方法を試す. `curl -sSf https://rye.astral.sh/get | bash`
– しかし,インストール途中で `Bad CPU type in executable` と出てしまう.
– インストール中のエラー出力で,`Detected outdated rye internals. Refres

元記事を表示

1次元入力の直線モデル

# 1次元入力の直線モデル
機械学習における区分けは「教師あり」と「教師なし」がある。
その中でも「教師あり」は、さらに、**回帰**と**分類**に問題を分けることができる。

**回帰**は、入力に対して連続した数値を対応付ける問題。
**分類**は、入力に対して順番のないラベルを対応付ける問題。

1次元入力の直線モデルでは回帰について取り扱う。

年齢x, 身長tについてデータをセットする。
“`python
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(seed=1) # 乱数を固定
X_min = 4 # Xの下限値
X_max = 30 # Xの上限値
X_n = 16 # データ個数
X = 5 + 25 * np.random.rand(X_n)
Prm_c = [170, 108, 0.2]

元記事を表示

misskeyのストリーミングAPI単体のラッパーを作ったので紹介する

こんにちは、六角レンチです。
今回は、misskeyのストリーミングAPI単体のラッパーであるBromineCoreを作ったので使い方を書こうと思います。
# 元になった記事
BromineCoreには元になった記事があります

https://qiita.com/CyberRex/items/e49828dba8e5867d8b26

この記事を元にBromineCoreは作られています(といっても原型はほぼない)
最近更新が入ったっぽいので見てみるのもいいかも
# 参考になるもの
https://misskey-hub.net/ja/docs/for-developers/api/streaming/

公式のストリーミングAPIのドキュメントです。
一回読み通すのをおすすめします

https://github.com/35enidoi/bromine35bot

ぶろみねくんです
BromineCoreはこのbotのコア部分の実装です
ただリファクタリングとかしてないし適当に書いているので見づらいです
絵文字追加やアナウンスに反応したり、じゃんけんも不定期に開催してリバーシ対戦

元記事を表示

【初心者向け】OpenAI APIのトークン数を簡単に記録する2つの方法(サンプルコード付き)

OpenAI APIを使用する際、トークン数を記録することは重要です。この記事では、既存のOpenAI通信プログラムに簡単に組み込める2つの方法を紹介します:
1. APIレスポンスを利用する方法
2. tiktokenライブラリを使用する方法

## 前提条件

このコードを使用するには、以下のライブラリが必要です:

– `openai`: OpenAI APIとの通信用
– `tiktoken`: トークン数の計算用(方法2のみ)
– `sqlite3`: データベース操作用

以下のコマンドでインストールできます:

“`
pip install openai tiktoken
“`

## 1. APIレスポンスを利用する方法

この方法では、OpenAIのAPIレスポンスに含まれるトークン数情報を利用します。

### サンプルコード

以下のコードをコピーして、`token_logger.py`というファイル名で保存してください。

“`python
import sqlite3
from datetime import datetime
from typing i

元記事を表示

Pythonでスクレイピングをしてみよう

## はじめに
こんにちは、らっじです

今回は、Pythonでスクレイピングする方法を解説します

## 環境
以下の環境で実行してます

– Ubuntu 24.04 LTS x86_64 (Proxmox)
– Python 3.12.3 venv
– beautifulsoup4 4.12.3
– requests 2.32.3

beautifulsoup4とrequestsはpipでインストールしています

## スクレイピングとは
WebページはHTMLで書かれていて、それを解析して必要な情報を抜き出すことをスクレイピングといいます

:::note warn
スクレイピングをしまくるとサーバーに負荷がかかったりするので、スクレイピングを禁止しているサイトもあります
:::

スクレイピングの手法は大きく分けて、

1. HTTPリクエストを送り、返ってきたレスポンスのHTMLを解析する
2. ブラウザをスクリプトで操作して情報を取り出す

という2種類がありますが、今回は1のほうをやります

(2のほうはSeleniumというライブラリでできるので興味があったら調べてみ

元記事を表示

初心者向けPythonのTornadoを使った超高速WEBアプリ作成入門

## 1. Tornadoの紹介

Tornadoは、非同期I/Oを活用したPythonのWebフレームワークです。高いパフォーマンスとスケーラビリティを提供し、リアルタイムWebサービスに適しています。

## 2. インストールとセットアップ

Tornadoのインストールは非常に簡単です。以下のコマンドを使用します。

“`bash
pip install tornado
“`

これでTornadoをプロジェクトに追加できます。

## 3. Hello Worldアプリケーション

基本的な「Hello, World」アプリを作成してみましょう。

“`python
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write(“Hello, world”)

def make_app():
return tornado.web.Application([

元記事を表示

arXivとPubMedから最新論文を取ってきてslackに投稿させる方法

# はじめに

すでにarXivで同じことをしている人はたくさんいるけれども,私の分野だとPubMedも必要だったのでガッチャンコ(死語)した。両方から最新の論文データ(タイトルやアブストラクト)を引っ張ってきて,ChatGPTを使って解説させる。

基本的には色々な情報を繋ぎ合わせただけ。元ネタは下記。

https://zenn.dev/ozushi/articles/ebe3f47bf50a86

https://qiita.com/yuta0821/items/2edf338a92b8a157af37

https://qiita.com/JoCOOL/items/d1b727a39b458c947d5f

# ChatGPT APIの準備

皆大好きOpenAIでAPI利用登録をする。

https://openai.com/index/openai-api/

「新規利用登録で~~ドル分使える!」みたいな記事も多かったけど,私が登録したときにはサイフはすっからかんだった。ChatGPT無料で使いまくってるからね,しょうがないね。

登録後,構築したシステムにいくら掛かるかわ

元記事を表示

Matplotlibを使った基本的なグラフ作成ガイド

## はじめに
Matplotlibを使えば折れ線グラフ、棒グラフ、散布図、ヒストグラム、パイチャートなど、さまざまな種類のグラフを簡単に作成できます。例えば、データの傾向やパターンを視覚化したり、作成したグラフを使って、分析結果を視覚的に分かりやすく伝えることができます。それではMatplotlibの使い方を書いていきます!

## 基本的な使い方
まず、Matplotlibには2つのグラフ作成方法があります。1つはオブジェクト指向の**Axesインターフェース**を使用する方法。2つ目は簡略化された**pyplotインターフェース**を使用する方法。
複雑なカスタマイズが必要な場合や、後から特定のグラフ要素を操作したい場合は、オブジェクト指向の**Axesインターフェース**が推奨されます。
シンプルなグラフやインタラクティブな作業には、**pyplotインターフェース**が便利です。

簡単な例をもとにそれぞれの比較をしてみます。
**・Axesインターフェース**
“`python
import matplotlib.pyplot as plt

fig = plt.fig

元記事を表示

トランスフォーマーとPythonで始める自然言語処理の冒険

## はじめに

こんにちは!今日は、自然言語処理の世界で革命を起こしたトランスフォーマーモデルについて、Pythonを使って楽しく学んでいきましょう。初心者の方でも理解できるよう、丁寧に解説していきます。

## 第1章: トランスフォーマーとは何か

トランスフォーマーは、2017年にGoogleの研究者たちによって発表された画期的な深層学習モデルです。従来のRNN(再帰型ニューラルネットワーク)やLSTM(長短期記憶)と異なり、並列処理が可能で、長文の処理に強いという特徴があります[1]。

## 第2章: トランスフォーマーの構造

トランスフォーマーは主に以下の要素で構成されています:

1. エンコーダー
2. デコーダー
3. マルチヘッドアテンション
4. フィードフォワードネットワーク
5. 位置エンコーディング

これらの要素が協調して働くことで、高度な自然言語処理を実現しています[1]。

## 第3章: Pythonで始めるトランスフォーマー

まずは、必要なライブラリをインストールしましょう。

“`python
!pip install transform

元記事を表示

OpenCV videowriter fourccと拡張子で簡易ベンチマーク

## OpenCV videowriter で作成する動画の中間ファイルがデカすぎる
下記のアプリを作成したのですが、OpenCV videowriterで作成している中間ファイルの動画ファイルが大きく、その後の音声データをつける処理に影響が出ている、と感じていました。

https://qiita.com/calcMCalcm/items/178901c752f6cef481f1

当初は、fourcc mp4vを使っていたのですが、ciscoのopen-h264.dllを利用したmp4の方が(正規っぽくて)ファイルサイズが小さいのでは??と考えたのですが、実際にやってみると違和感を感じました。
実際にどれがファイルサイズが小さく、また中間動画ファイル作成時の負荷が小さそうか、確認した方がいいと思い、簡単ですが調査しました。

## fourcc(拡張子)ごとの簡易ベンチマーク
### 環境
Windows11 64bit
python 3.11
opencv-python 4.10.0.84
intel 11400F
geforce 4700tiSUPER 16GB
MEM 32G

元記事を表示

【Python】SpaCyを使った日本語自然言語処理入門

## はじめに

SpaCyは、Pythonで自然言語処理(NLP)を行うための強力なライブラリです。日本語にも対応しており、形態素解析や固有表現抽出、構文解析などの高度な処理を簡単に行うことができます。この記事では、SpaCyを使って日本語テキストを分析する方法を15章に分けて詳しく解説します。

## 第1章: SpaCyのインストールと基本設定

まずはSpaCyとその日本語モデルをインストールしましょう。

“`python
!pip install spacy
!python -m spacy download ja_core_news_sm
“`

次に、基本的な使い方を見てみましょう。

“`python
import spacy

# 日本語モデルの読み込み
nlp = spacy.load(“ja_core_news_sm”)

# テキストの解析
text = “私は東京で寿司を食べました。”
doc = nlp(text)

# 単語ごとに表示
for token in doc:
print(f”テキスト: {token.text}, 品詞: {to

元記事を表示

衝突の美学。異なる質量を持つボールが3D空間内で衝突し、反発する様子をシミュレートするゲーム。

![スクリーンショット 2024-08-28 054019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/1fbc9ff4-8a12-0009-0680-bf1e0a8f64a1.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/8cc4c000-f5ad-455f-3a90-c8757b6672a7.png)

### 異なる質量を持つボールが3D空間内で衝突し、反発する様子をシミュレートするゲーム。

衝突の際に、異なる質量のボールが様々な方向から衝突する場合の精密な反発シミュレーションを行うために、運動量保存の法則とエネルギー保存の法則に基づく計算を行っています。

コードをメモ帳などのテキストエディタに貼り付け、ファイルを「index.html」などの拡張子が.htmlのファイルとして保存します。その後、保存したファイルをブラウザで開けば、コードが

元記事を表示

mod7占い (paizaランク S 相当):Python3解答例

[ mod7占い (paizaランク S 相当)](https://paiza.jp/works/mondai/s_rank_skillcheck_sample/mod7)

https://paiza.jp/works/mondai/s_rank_skillcheck_sample/mod7

## 背景
あなたは今、「mod7占い」というサービスを始めようと考えています。

mod7占いとは、整数が書かれた複数のカードの中から3枚を選び、そこに書かれた整数の和が7で割り切れるかどうかで運勢を決めようというものです。 カードは必ず異なる3枚を選ぶ必要があり、全てのカードには全て異なる数字が書かれています。

占いというからには、7で割り切れる組み合わせはそれなりに少なくする必要があります。 そこで、適当な複数のカードに対して、カードに書かれた3つの整数を足した和が7で割り切れるような組合せがいくつあるかを計算するプログラムを作成してください。

このPythonコードは、与えられた整数のカードから3枚を選び、その和が7で割り切れる組み合わせの数を効率的に計算するためのものです。

元記事を表示

TensorFlow.jsを使って、内蔵GPUにアクセスしてサクセス。

#### タイトル: “少年プログラマーとN100CPUの挑戦”

ある日、小学3年生の男の子、光太郎はコンピュータの前で真剣な表情をしていました。

光太郎の使っているコンピュータは、インテルの最新N100CPUを搭載したものでした。このN100CPUには、内臓GPUという機能がついています。お父さんが「これで十分だよ」と言って買ってくれたものでしたが、光太郎は最近、もっと速く計算できるコンピュータが欲しいと思うようになりました。

学校の友達たちは、最新のゲーミングPCを持っている子もいて、彼らの話を聞くたびに、光太郎は少し羨ましく思いました。でも、光太郎のお小遣いは毎月少しだけで、そんな高いコンピュータを買うお金はありませんでした。

「どうにかして、このコンピュータで高速に計算を行う方法はないかな?」

光太郎は、コンピュータの内蔵GPUを使って計算速度を上げる方法を模索していました。せっかくGPUが付いているのに、その機能を有効に活用する手段がわからず、困っていたのです。光太郎は、様々なプログラムを試みるものの、GPUの性能を引き出すことができずにいました。

そんなある日

元記事を表示

楽しいお絵描きゲーム。2Dで描いた線が3D空間で立体的にアニメーションします。

### 楽しいお絵描きゲーム。

![スクリーンショット 2024-08-28 042045.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/7b99eede-6af9-72d2-c7a6-141658263ccb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/1fcc989f-87f4-97ed-50cb-23ebe139f023.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/d5b4e243-f67f-3e57-c9f4-d0720c0c999d.png)

### 「立体的にする」ボタンを押すと、2Dで描いた線が3D空間で、描いた線の色で立体的に表示されます。立体がぐるぐると回転アニメーションします。

コードをメモ帳など

元記事を表示

このフォントは、固定ピッチフォントなのか?

# 固定ピッチフォントか?

あやしぃ…。
実際のサイズを調べることにした。

## 描画サイズから固定ピッチかどうか判定してみる
“`is_monospace_font.py
import sys
from PIL import ImageFont, ImageDraw, Image

def is_monospace_font(font_path, test_string=”iW”):
try:
# フォントサイズを指定してフォントオブジェクトを作成
font = ImageFont.truetype(font_path, 40)

# 描画用の領域を準備
image = Image.new(“RGB”, (512, 512))
draw = ImageDraw.Draw(image)

# テストする文字列の各文字の幅を取得
widths = [draw.textbbox((0, 0), char, font=font)[2] for char in test

元記事を表示

Python Noneをデフォルト引数に使う際の注意点

## はじめに

Pythonプログラミングにおいて、関数は非常に重要な要素です。その中でも、デフォルト引数としてNoneを使用することは一般的な手法ですが、適切に理解して使用しないと予期せぬ問題を引き起こす可能性があります。この記事では、初心者から中級者のPythonプログラマーを対象に、Noneをデフォルト引数として使用する際の基本概念、注意点、そしてベストプラクティスについて詳しく解説します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/c0d840b0-638e-e8f3-e063-b27cda7be37c.png)

## 基本概念の説明

まず、この記事で扱う重要な概念について説明します。

1. **関数**: プログラムの中で特定の処理を行うためにまとめられたコードの集まりです。例えば、2つの数字を足し算する関数は以下のように定義できます:

“`python
def add(a, b):
return a + b

元記事を表示

【Python】飛行機の運動をシミュレートするプログラムをつくる その4 「DQN」

# はじめに

今回は以下の記事の続きです。

https://qiita.com/yuki_2020/items/93fda2d7f3d5c5b402d7

本プログラムは**飛行機をDQNにより自動で操縦することを目指したプログラム**です。

飛行のモデリングは『航空機力学入門 (加藤寛一郎・大屋昭男・柄沢研治 著 東京大学出版会)』の3章「微小擾乱の運動方程式」をベースに作成しています。

そしてDQNの実装は東京大学松尾研究室の「サマースクール2024 深層強化学習」をベースにしております。

水平旋回を目指して学習させた結果が以下です。

![paper_plane (2).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/be958449-306c-be56-1831-c655f64e9ae6.gif)

プログラムはgooglecolabで実行できるように公開しています。

https://colab.research.google.com/drive/1yxwCJHpwQ

元記事を表示

データのクリーニングをやってみる

# はじめに

今まで比較的綺麗なデータ(KagglePlayGroundなどの欠損値が少ないデータやデータクリーニング済のデータセットなど)を使っていたため、データのクリーニングを経験してみる。

**目的**
テクノロジー業界の被雇用者である回答者に絞りこみ、データを読み取りやすい形に加工する。

**結果**
**Age** : 生産年齢人口から外れる10個の値を外れ値とみなし、外れ値以外の平均値で補完。
**Gender** : 自由記載で表記が乱れていたため、表記内容から読み取れるGenderをM,F,NBに統一。
**State** : 欠損値が存在するが、CountryでUnited Statesを選択した場合に回答されたものであるため無回答グループとして扱う。
**self_employed** : 被雇用者のデータを求めているため、この回答にYesと答えた者と欠損値18個を除外。
**no_employees** : 欠損値264個存在。欠損値量が多いため、無回答グループとして処置せず。
**tech_company** : テクノロジー業界のデータを求めているため、

元記事を表示

sympyのTRで、できませんでした。「大人も悩む算数問題 ∠ADBはいくつか?」をsympyとFreeCADでやってみたい。

・CADオペレーターなら、速攻?です。
・問題文は2次元ですが、3次元FreeCADのマクロで、XY平面上に作図しました。

**パイソニスタの方へ**
**・私は、sympyのTRで、できませんでした。いい方法を教えて下さい。**
 ワタシ的には、手も足もでませんでした。???ラングレー類題
 表示全部省略です。
 https://docs.sympy.org/latest/modules/simplify/fu.html

# オリジナル
・YUUU0123 様 (0:00〜4:41)

# sympyで(オリジナル 様の方法を参考に)
#### ver0.1 <合同となります。
“`python
# # ver0.1 <合同となります。
degBCE=40 ;print(“#”,degBCE)
degFBC=(180-degBCE)/2 ;print(“#”,degFBC)
degABE=80+degFBC ;print(“#”,degABE)
degADB=180-degABE

元記事を表示

OTHERカテゴリの最新記事