Python関連のことを調べてみた2023年10月11日

Python関連のことを調べてみた2023年10月11日

Hugging Face Hubにdatasetを作る方法

この記事では、自前のデータをどうやってHuggingface上にアップロードする方法を調べる。

<編集中>(;´・ω・)翻訳できてないとこたくさんある…

<動機>
英語に対して耐性がなく、基本的に逃げ癖が付いてしまっているので、ENGLISHで書かれた記事を目にするとどうにも読みたくなくなる。それでも、一から翻訳するとなれば腰を落ち着けて記事が読めるかもしれない。それで、外国語が得意な方から見るとあほらしいかもしれないが、とりあえず適当に一文ずつ訳していくことにした。

具体的には以下の記事を読んでいくが、方法だけ知りたい人は[手順目次](###手順目次)へGO

https://huggingface.co/docs/datasets/share#create-the-repository

https://huggingface.co/docs/hub/datasets-cards

https://huggingface.co/docs/datasets/image_dataset

# Share a dataset using the CLI
> At Hugg

元記事を表示

スキーマ駆動開発について調べたことをまとめました。

## 1. スキーマ駆動開発の基本概念

スキーマ駆動開発では、スキーマ(APIの型やデータの形を定義する仕様)を先に定義することで、フロントエンドとバックエンドの開発が平行して行えるようになります。

## 2. GraphQLとスキーマ

GraphQLは、Facebookが開発したクエリ言語で、スキーマを中心としたAPIの設計を可能にします。

GraphQLのスキーマは、以下のように型を用いて定義されます。

“`graphql
type User {
id: ID!
name: String!
email: String!
}

type Query {
user(id: ID!): User
}

“`
User型:
UserはGraphQLのオブジェクト型です。
id, name, emailの3つのフィールドを持ちます。
ID!やString!の末尾の!はそのフィールドが非nullであることを意味します。

Query型:
QueryはGraphQLのルートクエリ型で、クエリのエントリポイントとして機能します。
この例では、userというフィール

元記事を表示

Python 散布図から確率楕円(誤差楕円・信頼楕円),外接する長方形を作成

## 使用するモジュール
matplotlib, numpy

## 確率楕円のみ生成するコード
“`python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse

###################### 設定 ######################
n_sigma = 3 # nシグマ(標準偏差)分を覆う.3の場合は3σ確率楕円を生成.

###################### データの準備 ######################
data = np.random.randn(1000,2) # 100×2行列で,標準正規分布の乱数を生成 

###################### 確率楕円の生成 ######################
x = data[:,0]; y = data[:,1]

cov = np.cov(x, y) # 共分散
eigenvalues, eigenvectors = np.linal

元記事を表示

matplotlibリアルタイムチャート更新とアニメーションGIF作成 ※ ArtistAnimation不使用

# 内容
![download.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2629684/de558582-e0ed-b653-477e-33ab81274f6e.gif)

1. matplotlib チャートをリアルタイム更新する方法
1. matplotlib チャートをアニメーション表示し GIFファイルに保存する方法

PIL(Python Imaging Library)を使います。matplotlib.ArtistAnimation は使いません。 Colab で動作確認しました。

# matplotlib チャートをリアルタイム更新
IPython.display を使います。早すぎると表示にコマ落ちが発生します。リピート再生はできません。

“`py
import time
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import display # 試した環境では省略しても

元記事を表示

Google ColaboratoryにAIが搭載されたから使ってみた!スゴい!!!

ついに日本語でもGoogle Colaboratoryで「Colab AI」というコーディングアシストAIが利用できるようになりました!!!

元々アメリカでは2023年5月頃から使えたみたいですが、2023年10月にやっと日本でも利用できるようになったので、早速使ってみます。

## Colab AIとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3356814/f462cf25-963a-3988-2ef8-459415e73cf2.png)

「Colab AI」はGoogle Colab上で、GIthub CopilotのようにAIからコーディングのサポートを受けることができるペアプログラミング機能です。

![generate-cropped (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3356814/c54ead99-f811-c279-cab2-aef08791206a.g

元記事を表示

射影変換により画像から距離を推定する

## 写真から距離を推定したい
ここにペットボトル4本が映った写真があります。
これらペットボトル同士の距離はそれぞれ何cmでしょうか?
01.PNG

>写真画像上でペットボトル同士の距離を測ることは出来ますが、実際の距離は奥行も加味しないといけないので、この写真だけから距離を推定するのは難しそうです。

では、こちらの写真だとどうでしょうか?
01.PNG
こちらは先ほどと同じものを真上から見下ろすように撮った写真です。
これなら奥行きは気

元記事を表示

ChatGPT と Python で学ぶ ガウス過程モデル

「ChatGPT で Python プログラミング ケーススタディ」 シリーズの続編ですが、タイトルを変えてみました。今回のテーマは、ガウス過程です。ChatGPTとの雑談をお楽しみください!

### **user**:

ガウス過程モデルについて学ぶためのPythonコードを書いてください。そのコードの中で、説明を日本語でできるだけ詳しく書いてください。

### **assistant**:

ガウス過程はベイズ推定の一種で、関数の分布を表す強力な道具として使用されます。任意の数のランダム変数が持つ共同の分布が多次元ガウス分布である方法でランダム変数の一連のセットです。

以下は、ガウス過程回帰の簡単な例を示すPythonコードです。

“`python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import C

元記事を表示

alembicで作成されるカラムの順序を指定するmapped_columnとsort_orderの使い方

# よくある実装と発生する問題
SQLAlchemyとalembicを使用している場合、モデルのベースを作り、下記のように継承させる方法をよくとると思います。

“`base.py
from sqlalchemy import Column, DATETIME, Integer, func

class ModelBase:
id = Column(Integer, primary_key=True)
created_at = Column(DATETIME, nullable=False, server_default=func.now())
updated_at = Column(
DATETIME,
nullable=False,
server_default=func.now(),
onupdate=func.now(),
)

“`

“`:user.py
from sqlalchemy import Column, String
from app.db.base_class

元記事を表示

sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize – can’t proceed with initialization of other mappers.の対処法

# エラー全文

sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize – can’t proceed with initialization of other mappers. Triggering mapper: ‘Mapper[ProjectUser(projects_users)]’. Original exception was: When initializing mapper Mapper[ProjectUser(projects_users)], expression ‘User’ failed to locate a name (‘User’). If this is a class name, consider adding this relationship() to the class after both dependent classes have been defi

元記事を表示

HackTheBox PC WriteUp

今回は、HackTheBoxのEasyマシン「PC」のWriteUpです!
なかなか珍しい名前ですが、どのようなボックスなのか楽しみです!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1664764/1355a5fe-d2a5-90b3-2d71-e72f7f5cbba0.png)
グラフを見た感じでは、普通にEasyマシンっぽいですね。攻略目指して頑張りましょう!

HackTheBoxってなに?という方はこちらの記事を見てみてください。一緒にハッキングしましょう!

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

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

https://qiita.com/Perplex/items/30f949fe261f56af7476

## PC

### 侵入

それでは攻略を開始します。

・ポートスキャン

元記事を表示

Pygameでファイアーエムブレムを部分的に再現する(カーソル編)

## はじめに

皆さんこんにちは。初投稿でガチガチに緊張しております、**赤ジャージ**です。
私は2年ほど前から趣味でpythonをいじり始めたペーペープログラマです。今まで数多くのクソゲーゴミゲーを作ってきました。

## ファイアーエムブレムとは?

さて、皆さんは、**ファイアーエムブレム**というゲームをプレイしたことがありますか?簡単に説明すると、キャラクターがマップの中で戦うターン制ストラテジーRPGです。シリーズもので、1990年から今に至るまで、数多くのタイトルが発売されました。よくファイ**ヤ**ーエ**ン**ブレムと間違えやすいので注意!

今回の記事はfe(ファイアーエムブレム、以下fe)に影響を受けた私が、どうにかそれに類したゲームをpythonで作ろうとした奮闘記だと思って下さい。(o_ _)o

# やりたいこと
やりたいことは、カーソルの再現です。
このゲーム、マップの中でカーソルを動かしてキャラを選択し、そのキャラをカーソルで移動させて操作を行うんですが、このカーソルの動きがシリーズを通して操作性抜群で、ストレスなく広いマップを縦横無尽に駆け巡るこ

元記事を表示

intel上でLXDCLIを用いてGO+Pythonの環境を爆速で構築する

## 目的
Goの環境を構築しろと言われることは多いと思う。今回はintel上でlxdcliを用いてgoの環境を構築しようと思う。

## 構築
lxdfile
“`bash
CONTAINERNAME ubuntu-go
FROM ubuntu/23.04

RUN export DEBIAN_FRONTEND=noninteractive
RUN timedatectl set-timezone Asia/Tokyo && hostnamectl set-hostname ubuntu-go
RUN apt-get -y update

RUN dpkg –configure -a
RUN echo “\n\n\n” | apt-get -y install openssh-server
RUN apt-get -y install docker docker.io docker-compose nano curl

RUN echo -e “root:password” | chpasswd
RUN echo -e ‘PermitRootLogin yes’ >> /et

元記事を表示

TechFUL 難易度4「ワリキレンジャー」

TechFULの難易度4「ワリキレンジャー」を解いた。
問題は下記のURL

https://techful-programming.com/techful/question/712

# 問題概要
ある整数$N$が与えられる。
$1$から$N$までの数のうち、$N$との公約数に素数が含まれる数の個数$M$を答えよ。
(詳しい問題文・制約は上記のURLに。)

# 解説
問題文に**オイラーのϕ(ファイ)関数**に関する説明があるので素直に実装すればいいです。

# Python3での実装例
“`Python
# 2023/10/10
from math import sqrt

def prime_factor(N):
res = []

for i in range(2, int(sqrt(N)) + 1):
if N % i != 0:
continue

res.append(i)
while N % i == 0:
N //= i

if N !=

元記事を表示

【AutoMLで回帰】Pycaretで機械学習モデルの比較

# はじめに
[Pycaret](https://pycaret.readthedocs.io/en/latest/index.html)とは数行のコードで機械学習モデルを構築・比較してくれるAutoMLライブラリです。

この投稿では以下の状況を取り扱い、結果の解釈やコードの詳細を説明します。
– 回帰問題
– 予測モデル作成後、自らが作ったデータセットにモデルを当てはめて予測値を得る

# 0. データの読込みと前処理

“`python
# ライブラリのインポート
# 不要な警告文を非表示にする
import warnings
warnings.filterwarnings(“ignore”)
from pycaret.regression import *
import pandas as pd
“`
“`python
# pycaretのバージョンを確認
import pycaret
print(“pycaret version: “, pycaret.__version__)
“`
“`:出力
pycaret version: 3.0.4
“`

今回

元記事を表示

Open Interpreterを試してみた

# はじめに
今回はOpen Interpreterをローカルから使ってみます。

# 環境
+ OS Windows 10(NVIDIA GTX 1650Ti,16GB RAM, i5-10300H CPU)
+ Visual Studio Code 1.73.1
+ Python 3.9

# Open Interpreter
Open Interpreterはファイルのアップロードやデータ分析ができるChatGPTの「Code Interpreter」をローカルでも可能としたツールです。

実行時間やファイルサイズなど制限なしで使えるみたいなので、いろいろ試してみます。
実行するときの注意点としては、ライブラリのインストールは次々と行うようになっているのでanacondaなどの仮想環境を使って実行をします。

## インストール
Open Interpreterを使うのに必要なインストールはたったのこれだけです。
“`
pip install open-interpreter
“`

## 実行
今回はGPT-4ではなく、無料でも使えるLlamaを使って実行していきます!

元記事を表示

FlutterとPyTorchモバイルで画像AIアプリを作る

![‎Untitled.‎1.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2700602/a508952d-a053-1f75-f33c-a35976300ef9.jpeg)

## はじめに

この記事では、FlutterからPyTorchの学習済みモデルを利用して、クラシフィケーション (画像分類) を行うiOS向けサンプルアプリを紹介します。

実装は、[PyTorch公式](https://pytorch.org/mobile/ios/)で紹介されている[iOS向けサンプルプロジェクト](https://github.com/pytorch/ios-demo-app/tree/master/HelloWorld)を参考に、一部コードをFlutterアプリに移植する形で行います。[Pub Dev](https://pub.dev/packages?q=pytorch)にいくつかPyTorch向けパッケージが公開されていますが、今回こちらは利用しません。

アプリからPyTorchの利用は「`

元記事を表示

Pythonは値渡しなのか?参照渡しなのか?[結論] 参照の値渡し

# Pythonは値渡しなのか?参照渡しなのか?
自分がプログラミングしていた時,Pythonが値渡しなのか,参照渡しなのか気になったので調べることにした.
すると,「値渡し」だったり,「参照渡し」だったり,ましてや「参照の値渡し」など,言っていることが人によってまちまちなので,実際に動かして検証してみることにした.
>調べたサイト
[Pythonは「値渡し」です!「参照渡し」という誤解はなぜ生じるのか?](https://dodotechno.com/python-call-by-value/)
[Python に参照渡しは存在しない話](https://note.com/crefil/n/n7a0d2dec929b)
[第16回.Pythonの引数は参照渡しだが・・・](https://excel-ubara.com/python/python016.html)
[Pythonの関数の引数は参照渡しなのか?参照の値渡し](https://qiita.com/rdon_key/items/ce075e56f93488180ea8)
[値渡しと参照渡しと参照の値渡しと](https:/

元記事を表示

pythonでDB(mysql)の操作をする

mysqlデータベースをPythonから操作する簡単なクラス(例)を作成してみました。

前提条件として、
・mysql をインストールしておく
・Pythonで以下のライブラリをインストールしておく
mysql, mysql-connector, mysql-connector-python, mysqlclient

注意として
Pythonファイルを、mysql.pyとしてしまうとプログラムが動かないことがあります。
サンプルファイルは、main.pyとしています。

DBクラスのインスタンスを作成すると、初期化にてデータベースへのコネクションやカーソルが作成されます。
DB操作を完了して、メモリから削除(del)するときに、DBのクローズ処理を行うようにしています。

# DB操作を行うクラス
“`
import mysql.connector
import mysql

class dao_mysql(object):
def __init__(self, database_name, hostname=’127.0.0.1′, user=’root’):

元記事を表示

Amazon Bedrock APIで始めるLLM超入門①

AWSでBedrock APIを叩きながらLLMについて学習します。LLMとしてはClaude2を使用します。Python環境の新規構築を想定した手順を記載していますが、既に環境がある方は適宜読み替えてください。

Bedrockの価格は以下をご確認ください。

https://aws.amazon.com/jp/bedrock/pricing/

# そもそもLLMとは?
– 大規模言語モデル(Large Language Models)の略
– 言語モデルを超大量のデータで学習させたら突然性能が上がったもの
– chatGPTで言うところのGPT-3.5やGPT-4
– 言語モデルとは?
– 入力されたテキスト(プロンプト)を単語(トークン)列に変換し、次の単語(トークン)を予測する
– 単語(トークン)の予測を続けることで文章が生成される
– chatGPTが少しずつ回答してくるのは、演出ではなく予測する都度回答しているから

# Amazon Bedrockとは?
LLMを含むモデルをAPI経由で呼び出しが可能なAWSのサービス。インフラストラクチャの管理は不要(A

元記事を表示

xlwings 逆引き

# はじめに

Python と言えば業務自動化/効率化、業務自動化/効率化といえばターゲットは Microsoft Excel、Microsoft Excel と言えば **xlwings**。というわけで、Python で Excel をごにょごにょしようとすると必ず出てくる xlwings。

オブジェクト構造は VBA と酷似しているので、xlwings だから…ということはほぼ何もないです。困ったら [公式のAPIリファレンス](https://docs.xlwings.org/en/stable/api/index.html) にいけばなんとかなるのですが、いちいち調べてられないというせっかちな人や、ハマりポイントを(自分のために)逆引きメモとして残しておきます。

@m5knt さんが下記の記事でまとめて下さっているのでそちらもどうぞ(記事はちょっと古くなってますが、今でもだいたい使えます)

https://qiita.com/m5knt/items/a7bc555f287ac7fe761d

ニーズがありそうであれば、記事育てていきますが、Qiita 内には xlwi

元記事を表示

OTHERカテゴリの最新記事