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

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

色空間上のL1距離を可視化する

matplotlibで色空間上のL1距離を可視化してプロットする

## 関数
L1距離をプロットする関数
“`python
def plot_L1(original, input_data, plot_color):
plt.plot([original[0], input_data[0]], [original[1], original[1]], [original[2] , original[2]], c=plot_color,ls=”:”)
plt.plot([input_data[0], input_data[0]], [original[1], input_data[1]], [original[2] , original[2]], c=plot_color,ls=”:”)
plt.plot([input_data[0], input_data[0]], [input_data[1], input_data[1]], [original[2] , input_data[2]], c=plot_color,ls=”:”)
“`
カラーコードを作成する関数
`

元記事を表示

Matplotlibで、L1距離の可視化

散布図を作成した時に、L1距離をプロットする方法がなかったので自作した

“`python
import numpy as np
import matplotlib.pyplot as plt

x_hoge = np.arange(10)
y_hoge = np.arange(10)

plt.scatter(x_hoge, y_hoge)

#plt.plot([x_start,x_end],[y_start,y_end])
for i in range(x_hoge.shape[0] – 1):
plt.plot([x_hoge[i], x_hoge[i + 1]], [y_hoge[i], y_hoge[i]], c=”red”)

for i in range(y_hoge.shape[0] – 1):
plt.plot([x_hoge[i + 1], x_hoge[i + 1]], [y_hoge[i], y_hoge[i + 1]],c=”blue”)
“`

### 出力画像
![ダウンロード (52).png](https://qiita-image-st

元記事を表示

OpenAI の各モデルを使って音声でチャットしてみる

# やりたいこと
OpenAI が提供しているモデルに、新しく Text to Speech のモデル (tts-1, tts-1-hd) が追加されました。Input にテキストを入力するとそのテキストを自然なイントネーションで読み上げてくれるものです。
元々あった Speech to Text のモデルである whisper-1 と組み合わせることで GPT のモデルと音声で対話できるなーということでやってみた内容をまとめてみます。

# 環境
* Windows11 Pro
* WSL2 (Ubuntu22.04)
* Python 3.10.12
* 音声入力のためのマイクが必要です
* 音声出力のためのスピーカーが必要です

:::note warn
OpenAI が提供する API を使うためにはあらかじめクレジットを追加しておく必要があります。無料枠が残っている場合は、その範囲内で利用できます。
:::

# 構成
分かりきっているが構成は以下のような形。「」は音声、”” はテキスト。

![image.png](https://qiita-image-store

元記事を表示

プログラミングを始めた際に知っておきたかったPythonの基本

ChatGPTがあるから誰でもプログラムを書けるみたいに言われますが、実際のところ、基礎知識がないと効率も悪く、複雑なものは作れないので、
私がプログラムを読めるようになり、アプリをリリースできるようにまでなったきっかけのpythonの基礎を記載します。

基本的にChatGPTが書いてくれるので、概念を理解して、コードを読んで修正出来たら大丈夫です。
この記事もほぼChatGPTが書いてます。

# 1. Pythonにおける重要な概念
まず、Pythonにおける重要な概念を整理して説明します。

### 1. モジュール (Modules)
– **概念**: モジュールは、関数、クラス、変数などを含むPythonのファイルです。これにより、コードを再利用しやすくなり、プログラムを整理して管理しやすくなります。
– **使用方法**: `import`文を使用してモジュールをインポートします。例えば、`import math`は`math`モジュールをインポートします。

### 2. 変数 (Variables)
– **概念**: 変数はデータを格納するための名前付きの場所です

元記事を表示

enkanetwork.pyの使い方まとめ

# はじめに
はじめまして。
PythonでEnkanetworkAPIを利用する際に、requestsで持ってくる記事はQiitaや他サイトなどに色々ありますが、enkanetwork.pyをインポートして利用する方法を書いている記事が見当たらなかったので書いていこうと思います。
# Enkanetworkとは?

https://enka.network/

Enkanetworkとは、ざっくり申しますと原神内のプロフィールデータを持って来てくれるAPIです。

取得できる情報を具体的に言うと、フレンドの画面を開いて見る事が出来る情報を大体すべて取得できます。8枠あるキャラクターの欄だったりアチーブ数だったり、キャラクター詳細を非表示にしていなければ聖遺物や武器なんかも参照する事が出来ます。

今X(旧Twitter)などでよく見かける原神のキャラクターのビルドカードは全てこのAPIが絡んでいると考えてもらってOKです。日本だと[Artifacter](https://twitter.com/ArtifacterBot)さんのデザインが一番有名だと思います。

なお、APIはJSや

元記事を表示

Phy-SOによるシンボリック回帰 on colaboratory

# Phy-SO
(以下arxiv abstractの日本語訳)
記号回帰は、データに適合する解析式の探索を自動化するアルゴリズムの研究である。最近の深層学習の進歩により、このようなアプローチに再び関心が集まっているが、記号回帰手法の開発は、データに関連するユニットのために重要な追加制約がある物理学には焦点が当てられていない。ここでは、物理データから解析的な記号式を復元するための物理記号最適化フレームワークであるΦ-SOを、ユニットの制約を学習することによって、深層強化学習技術を用いて紹介する。我々のシステムは、物理単位が構造的に一貫している解を提案するように、一から構築されている。これは物理的に不可能な解を排除するだけでなく、次元解析の “文法的 “規則が方程式生成器の自由度を大幅に制限するため、パフォーマンスが大幅に向上する。このアルゴリズムは、ノイズのないデータのフィッティングに使用することができ、例えば物理モデルの解析的特性を導こうとする場合に有用であり、またノイズのあるデータの解析的近似を得るためにも使用できる。我々は、ファインマン物理学講義やその他の物理学の教科書に掲載され

元記事を表示

AIとPythonで毎週新しいレシピのアイデアをもらえます

# ケビンの開発冒険:自動的に新しいおすすめレシピをもらえる

注意:日本語は私の母語ではありません、またAIは私の専門ではありません。

最近、毎週新しいレシピのアイデアを探すことが大変です。。。
私はパートナーに怒られます。。このままでは怒られ続けてしまうので新しいアイデアが必要です!
もし毎週プログラムが新しい料理をおすすめしてくれたらいいのではないでしょうか。
ChatGPTはとてもいいと思いますが、毎週ChatGPTに質問をしたくはないので、自分のプログラムを作ろうと思います。
また、私はAIの経験が無いのでいい冒険です!
AIとPythonでやってみましょう!

## コンテンツ
AIの使い方を学びながら、プログラムを作りましょう!

章:
– 色々な方法
– AIのモデルとは
– Pythonのインストール
– gpt4free
– lm-studio
– llama-cpp
– API
– まとめ

## 色々な方法
ちょっと調べてみると、私の理解できた中にも色々なやり方があります:
– gpt4free
– lm-studio
– llama-cpp-python

元記事を表示

RFIDを使った管理システム

# RFIDを使った出席管理システムの構築

RFID技術を活用して、出席管理を自動化する方法をご紹介します。この記事では、SonyのRC-S380/S NFCリーダーを使用して、出席データを収集し、MongoDBに記録するシステムの作り方を説明します。

## 必要な機材とソフトウェア

– Sony RC-S380/S NFCリーダー
– NFCタグ(Suica)
– Python 3.9
– MongoDB

## システム概要

このシステムは、以下の2つの主要コンポーネントから構成されます。

1. **RFID読み取りプログラム (`rfid.py`)**: NFCリーダーでタグを読み取り、MongoDBに記録します。
2. **Webインターフェース (`web.py`)**: Flaskで構築したWebアプリケーションで、記録された出席データを表示します。

## 環境設定

### MongoDBのインストールと設定

MongoDBはNoSQLデータベースで、以下の公式ウェブサイトからダウンロードしてください。

– [MongoDB公式ウェブサイト](https:

元記事を表示

ChatGPTと作る 和歌生成AI : 4. Transformer編

皆さんこんにちは。今日も引き続きChatGPT先生をお迎えしておりますが、以前にやりました「ChatGPTとPythonで作る和歌LSTM」の続編として、今回は Transformer による和歌生成にチャレンジしたいと思います。

本日も、用いる和歌のデータは、国際日本文化研究センターで公開されている [「和歌データベース」](https://www.nichibun.ac.jp/ja/db/category/waka/) を利用します。

それではChatGPT先生、よろしくお願いします。

### **assistant**:

もちろんです、お手伝いします。以前、LSTMを使用した和歌生成を行いましたが、今回はより進んだモデル、Transformerを用いての和歌生成を試みます。TransformerはGoogleが”Attention is All You Need”という論文で提唱したモデルで、現在の自然言語処理における最先端の技術を数多く生み出しています。始める前に、すでに和歌のデータセットが手元にあることを想定します。

まずは、必要なライブラリのインポー

元記事を表示

スクリーンショットの座標値を取得

[Web画面のエビデンス取得の自動化](https://qiita.com/flip-flop/items/329b3155df52e4c78cd4)の引数に必要な座標値の取得方法を紹介します。何かのお役に立てれば幸いです。

# はじめに
スクリーンショットを取得する方法は、Windows + shift + s -> 対象範囲をドラッグでコピーです。
たまに取得する程度なら便利な機能です。
しかし、テストとなると毎回同じことをやるのはいろいろ面倒です。
毎回選択範囲がずれて貼り付けたときに画像サイズが揃わない。
選択範囲を間違えて再度取り直しになる。
tooltipを表示していたつもりが消えていて取り直しになる。
など、ただでさえ時間のかかる作業なのにこういうのが発生すると萎えます。
そこで画像サイズが揃うように座標値を取得するプログラムを書きました。

# 完成プログラム
“`
#getCoordinteVal.py
from pynput import mouse

# //////////////////////////////////////////////////
#

元記事を表示

グラフ最適化をマスターしよう!

# はじめに

グラフ最適化(Graph Optimization)は、パラメータをグラフ構造で表現し、最適化問題を解決する手法です。特にロボティクスなどの領域で広く活用されています。

以下に、グラフ最適化の応用例をいくつか挙げます。

* Visual SLAMやSFMのバンドル調整(Bundle Adjustment)問題
* Graph SLAMのループクロージング問題
* 経路計画問題(TEB, ebandなど)

実際のアプリケーションでは、[ceres](http://ceres-solver.org/)や[gtsam](https://gtsam.org/)、[g2o](https://github.com/RainerKuemmerle/g2o)などのグラフ最適化ライブラリを利用することで、グラフ最適化問題を解決することができます。しかし、グラフ最適化の内部原理を理解していないと、性能の向上や課題の解決が困難になることが多いです。

筆者自身は、グラフ最適化の理解を深めるため、独自のグラフ最適化ライブラリをPythonで実装したことがあります。g2oなどの大規模なOS

元記事を表示

Pythonで「演算子の優先順位」の動作を確認してみた

# 概要

Pythonで「演算子の優先順位」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/python/num/index3.html

# 実装

以下のファイルを作成しました。
“`sample.py
print(“5 + 3 * 4 = ” + str(5 + 3 * 4))
print(“(5 + 3) * 4 = ” + str((5 + 3) * 4))
“`

以下のコマンドを実行しました。
“`
$ python3 sample.py
5 + 3 * 4 = 17
(5 + 3) * 4 = 32
“`

# まとめ

何かの役に立てばと。

元記事を表示

キャビティ流れの有限差分法シミュレーション

# 初めに
[有限差分法の基礎的な勉強](https://qiita.com/ShotaDeguchi/items/7d3ab5e9765200360a3d)の後,もう少しだけ応用(っぽい)問題を取り上げようと思った.

有名な2次元キャビティ流れのシミュレーションを,有限差分法によって実行することにした.

間違いを含む可能性があるので,鵜呑みにしないよう慎重に読んでいただき,その場合はご指摘いただきたい.

コードは[ここ](https://github.com/ShotaDeguchi/Cavity_FDM_NumPy2)にある.

# Methodology
## 支配方程式
水などの非圧縮性のニュートン流体を考える.支配方程式は,質量保存則と運動量保存則を記す以下のNavier-Stokes方程式である(無次元化している).
“`math
\begin{align}
\nabla \cdot \mathbf{u} &= 0 \\
\frac{\partial \mathbf{u}}{\partial t} + \left( \mathbf{u} \cdot

元記事を表示

Python初心者が「2人でじゃんけんする」を書いた①

net、本などで勉強中のPython初心者。

簡単なコードならなんとかOK。
まず基本の2人じゃんけんを書いてみた。

関数、クラスは完全に理解出来ていないので、はじめはそれらを使わずコードを書き、関数、クラスに発展させていくつもりです。

この後は、○回戦勝負(ポイントで勝敗決定)、3人じゃんけん、複数人でのじゃんけん、あっちむいてほい等をやる予定です。

以下 「2人でじゃんけんする」のコード
“`python
import random

te = {0:’グー’ , 1:’チョキ’ , 2:’パー’ } #じゃんけんの手の辞書(表示用)
#te[0]→’グー’ te[1]→’チョキ’ te[2]→’チョキ’ のように表示される
#te[you]の[you]が0のときは’グー’と表示される

#プレイヤーとPCのじゃんけんの手
you = int(input(‘じゃんけんします。あなたの手は?\n0:グー 1:チョキ 2:パー –>> ‘))
PC = random.randint(0, 2)

#あいこの場合
if you == PC:
print(‘あなたの手

元記事を表示

Atcoderほぼ緑コーダーのスニペット(Python)

# 記事構成
[1. Atcoder自己紹介](#1-Atcoder自己紹介)
[2. スニペット集](#2-スニペット集)
[3. 最後に](#3-最後に)

# 1. Atcoder自己紹介
– 茶色🟤コーダー
– 主な使用言語:Python,C++(C++は最近使ってません)
– 一時期休んでたけど最近再開
– 現在のグラフ↓

![abckuri.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3564785/136561dd-ef66-36ae-af8c-26e4f88aa4d3.png)

まあほぼ緑コーダーって言っても問題ないはず

# 2. スニペット集
一応競プロで使いやすいものを作ってます.
## Yes,YES,No,NO
競プロのよくある出力用に

“`python:Yes出力
“Print Yes”: {
“prefix”: “yes”,
“body”: [
“print(‘Yes’)”,
],
“description”: “print Yes”

元記事を表示

Azure Functions の拡張機能 Durable Functions とは

::: note warn
エンジニアが趣味程度で利用しているDurable Functionsの記事です
メモ程度に記述するので情報の網羅性や正確性には欠けるかもです、、
:::

## この記事に関係するもの
– Azure
– Azure Functions
– Durable Functions

# Durable functionsとは
 Durable functionsはAzure Functionsの拡張機能であり、サーバーレスコンピューティングの環境でステートフルな関数を記述することが可能になる機能。

Durable functionsは主に以下の3つで構成される。

クライアント関数
 処理のトリガーの受け取り口となる関数。トリガーをHTTPリクエストに設定した場合は、HTTPへのリクエストがあるたびにHTTPのパラメータなどから情報を受け取り、オーケストレーション関数を起動する。
オーケストレーション関数
 その名の通り処理の大まかな流れを制御する関数。基本的に複数のア

元記事を表示

Azure Function のみで利用可能な Pythonプログラミングモデルv2 とは

:::note warn
Pythonプログラミングモデルv2を趣味程度で利用しているエンジニアによる記事です
:::

## Python プログラミングモデルv2 とは
 Pythonプログラミングモデルv2(以下Python v2)は、Azure Functionsのみで利用可能であり、開発者にとってなじみ深い体験を提供することを目的として作られたそう。
 2023年5月に一般リリースされたプログラミングモデルなので日本語の記事が少ない。そのため記事を書いてみようと思った。

## Python v2 を利用して感じたメリット
Python v1 を利用した後に Python v2 を利用し、そのときに感じた利点は3つ。

1. フォルダー構造が単純になった
必要なファイルを設定する必要がなく、コード上でそれらを表現するようになった。そのためフォルダーの構造が単純になり管理が楽になった。
2. トリガーとバインディングがデコレータとして表現されて必要なファイルが減少
Pyth

元記事を表示

Durable Functionsで機械学習を実装してみた

:::note info
この記事には、日本語参考文献の少ない**Azure Durable functions**や**Pythonプログラミングモデルv2**を利用したサンプルコードを載せています。

困った場合の参考程度に読んでください。
:::

## はじめに
今回はAzure functionsの拡張機能であるDurable functionsで機械学習を実装します。

一昔前までは、リソースの制限の関係でFaaSでデータ分析を行うのは困難でしたが、リソースの制限が緩くなったのでデータ分析も実装可能となりました。

また、今回の記事では2023年前半に公開されたばかりのPythonプログラミングモデルv2(以降、Python v2)を利用して実装しています。Python v2を利用したサンプルコードが少ないので、参考になる方がいればと思っています。

## 利用する環境
* Azure Functions, Durable Functions
* Azure Blob Strage(Durable functionsを利用する際に必須)
* Pyt

元記事を表示

ABC329 提出したコードや感想 (言語:Python)

# 記事構成
[1. Atcoder自己紹介](#1-Atcoder自己紹介)
[2. 各問題の感想と提出コード](#2-各問題の感想と提出コード)
[3. 今回の結果想](#3-今回の結果)
[4. 最後に](#4-最後に)

# 1. Atcoder自己紹介
– 茶色🟤コーダー
– 主な使用言語:Python,C++(C++は最近使ってません)
– 一時期休んでたけど最近再開
– 本コンテスト終了時のグラフ↓

![abc329.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3564785/53b6b5d3-abfe-e688-6478-5386cd105d7e.png)

# 2. 各問題の感想とコード
## A問題
特にいうこと無し.ABCのAって感じの問題が久しぶりに来た
コードは結構綺麗に書けたんじゃないかな

“`python:A問題
s = input()
for char in s:
print(char, end=’ ‘)
“`

## B問題
一回最大値探してからもう一

元記事を表示

VisualStudioでRustを便利に相互運用する

> Visual Studio大好き(codeじゃないほう)

今回はVisualStudio(2022)でRustを快適(?)に運用する方法を共有したいと思います。

# 完成形

## ディレクトリ構造

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3555292/ade3965d-31bd-91a1-7518-1e1552a178f3.png)

## 動作
プロジェクトのビルドが完了すると、Rustのコンパイルが始まり、生成結果フォルダに *(プロジェクト名).rs.dll* という名のバイナリがコピーされる。

# 長所

* ケース規則が揃う(プロジェクト直下はパスカルケース、フォルダー内はスネークケース)
* Rustとその他(今回はC#)をまとめてコンパイル結果に入れられる。

# 手順
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3555292/ade3965d-31

元記事を表示

OTHERカテゴリの最新記事