Python関連のことを調べてみた2022年12月04日

Python関連のことを調べてみた2022年12月04日

TkinterでAI学習用のGUIアプリ作ってみた!

こんにちは。おもちゃで遊ぶAdvent Calendar4日目です。今回は資格取得のためのクイズアプリを、PythonからGUIを構築することができるライブラリーのTkinterを用いて作成します。

# はじめに
こんなものを作っていく!

![Qualification_measures](https://user-images.githubusercontent.com/87839643/205434171-2275abf7-93ac-4e1b-a810-a6f1e878f930.gif)

ソースコードはこちら
https://github.com/Kentea-Watanabe/Qualification_measures

# Tkinterの構成
– 問題の取得
– 問題の表示
– 解答の表示
– 問題の削除

## 問題の取得
問題と選択肢をcsvファイルで定義します。
答えのindexを最後に指定してますが0からスタートになっていることに注意。

“`sample.csv
問題文,解答1,解答2,解答3,解答4,答え
第一次AIブームとは?,推論と探索,学習と検証

元記事を表示

DynamoDBにデータを追加する際、「エラー」が出てこない問題に対する解決策

# はじめに
Lambdaを使ってDynamoDBにデータを追加する簡易システムを作っていた際、エラーログすら出力されない問題に当たったので、ここではその知見共有をしたいと思います。

# 1. 今回使用するDynamoDBの構成
### order_infoテーブル

今回は、order_infoテーブルにレコードが追加されるたびにプライマリーキーであるid属性を連番設定し、数を1ずつ増やしていきます。
|id|created_at|host|name|price|quantity|
|:—|:——-| :–|:–|:—–| :——|
|number|number|string|string|number|string|

### id_sequenceテーブル
order_infoテーブルのid属性の連番を管理するためのテーブルです。
※DynamoDBには、オートインクリメントの機能がないため、Lambdaでコードを読み込むと数字をインクリメントするという処理にします。
|target_tabele|sequence|
|:—|:——-|

元記事を表示

PythonとSeleniumとWebDriverとChrome拡張機能でDownload完了判定と待機

## はじめに

[downloads.State](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/downloads/State)を利用してのダウンロードの完了判定と待機が出来ないか検討してみた話です。

前半部分はChrome拡張機能でダウンロードに関する情報をPython側に伝達をする処理を構築していきます。
後半部分はPythonとSeleniumとWebDriverでダウンロードの完了判定と待機をする処理を構築していきます。
最終的なコードは[こちら](https://feo52.hatenablog.jp/entry/2022/12/04/080000)を参照くださいませ。

Chrome拡張機能の詳細な解説はしませんので、
Chrome拡張機能の詳細な解説は[他のサイト](https://feo52.hatenablog.jp/entry/2022/10/02/080000#Reference)などで確認くださいませ。

本投稿は備忘録的な意味合いもあるので、
無駄な記

元記事を表示

JuliaでPythonを使うには

# Pythonのライブラリを活用する
Juliaには他のプログラム言語を呼び出す機能(ライブラリ)があります。
このうちPyCallをつかうとPythonのライブラリ資産が利用できます。

# PyCall.jlのインストール
JuliaのREPLより、以下のコマンドを実行します。
“`Julia
Pkg.add(“PyCall”)

“`

# PyCallの実行

juliaでpythonを使用するには、以下のようにします。

「using PyCall」と入力。

“`Julia
using PyCall

“`
このコマンドを実行することで、pythonを使用するための準備が整います。

次に、pythonのモジュールを読み込むために、以下のようにします。

“`Julia
@pyimport <モジュール名> as <別名>

“`

例えば、「numpy」というpythonのモジュールを読み込む場合は、次のようにします。

“`Julia
@pyimport numpy as np

“`
このようにして、pythonのモジュールを読み込むことができます

元記事を表示

?GBFS世界旅行?

GBFSで、世界中のシェアモビリティステーションをマッピングしてみました?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119284/6b90ecf0-7a47-b734-72f9-2e7d0320fa90.png)

2022年12月3日時点で筆者が取得できたGBFS由来のシェアモビリティステーション**計586サービス/76,734ステーション**を可視化しています。出典は後掲の通りです[^1]

:::note info
本記事では筆者が**取得に成功した**GBFSを根拠にサービス数・ステーション数を算出しています。例えばデータの取得漏れ(サービス側のDBメンテナンスでデータ取得ができなかった等)や公開されているデータが古い・誤っているなど、実体を正確に反映しきれていない可能性がゼロではないこと、ご留意ください。
:::

# やり方

下記のようなコードを組みました。gbfsはjsonファイル群なので、情報取得はPythonで一般的な“`requests,json“`モジ

元記事を表示

TransformersでGPTの文章生成する方法いろいろ

Transformersを使うと、GPTの事前学習モデルを使って簡単に文章生成ができます。モデル自体は同じでも色々なメソッドが用意されていて、用途に応じて適切なインターフェースを選ぶことでより便利に使えます。

## 環境
– Google Colaboratory
– transformers: 4.25.1

`!pip install transformers sentencepiece`等でtransformersをインストールしておきます。

### 事前準備
`MODEL_NAME`定数に好きなモデルを指定してください。ここでは[rinna/japanese\-gpt2\-xsmall](https://huggingface.co/rinna/japanese-gpt2-xsmall)を使います。

“`python
MODEL_NAME = ‘rinna/japanese-gpt2-xsmall’
“`

## pipeline
`pipeline()`を使うのが、最も簡単な方法だと思います。
`pipeline()`の第一引数にタスクを指定することで、タスクを実行

元記事を表示

2022年にお世話になったオライリーのPython書籍5選

# はじめに
みずほリサーチ&テクノロジーズ株式会社 先端技術研究部の@fujineです。

[Python Advent Calendar 2022](https://qiita.com/advent-calendar/2022/python)の4日目である本記事では、今年の振返りとして、**2022年にオライリーから出版されたPython書籍5選を紹介**させていただきます。

本記事が、
– これからPythonで**機械学習を学ぼうとしている**
– すでに担当業務やコンペ等で機械学習を扱っており、**近年のトレンドや実践的な知見を得たい**
– E資格などのAI系資格取得に向けて、**数式による理論や仕組みを網羅的に学べる教材を探している**

といった方々の参考になれば幸いです。

# 紹介する書籍一覧
今回ご紹介する各書籍のタイトル、主なカテゴリ、サンプルコードは以下となります。

|出版月|タイトル|主なカテゴリ|サンプルコード|
|—|—|—|—|
|2022/2|[実践 自然言語処理](https://www.oreilly.co.jp/books/

元記事を表示

Python + OpenCVでらんてくんとキュゥべえの類似点を検出する

# 概要
この記事では、顔認証の技術などでも使われる顔の類似度判定を、OpenCVを使い実装したいと思います。
OpenCVは、画像・動画に関する処理機能をまとめたオープンソースのライブラリです。今回はらんてくんとQB(キュゥべえ)の特徴点を比較してどれだけらんてくんがQBに似ているのかAKAZEという検出器で検証しました。

# 類似点判定の例
類似点を判定するために
– 2つの画像の特徴点を抽出する
– 2つの画像の特徴点から類似点を判定する

の手順で進めていきます。

下図の円で囲まれたところが特徴点です。特徴点抽出はその名の通り、画像の中から”特徴的な”ポイントを抽出するアルゴリズムです。使われる特徴としては角 (コーナー) が多いようですが、輝度の勾配なども使われるそうです。
![runtequn_02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520341/00c56d2a-76ed-8d94-9105-07f8d2813cdd.jpeg)![runtequn_03.jpg](htt

元記事を表示

【Azure】kaggleコンペで使うAzure AutoMLについて

# はじめに

この記事は [CDLE youth Advent Calendar 2022](https://qiita.com/advent-calendar/2022/cdleyouth) 4日目の記事です。
先日 [CDLE youth](https://sites.google.com/view/cdleyouthhp) で Kaggle の[Home Credit Default Risk](https://www.kaggle.com/competitions/home-credit-default-risk) に AutoML で参戦したのでそのときの記録を。
あまり整理されていませんが GitHub リポジトリは [こちら](https://github.com/masachika-kamada/kaggle_home-credit-default-risk)

# モチベーション

今回参加した Home Credit Default Risk のコンペでは、債務不履行の予測を行います。Discussions や Code を眺めて感じたのは、コンペで上位に食い込む

元記事を表示

【Flask】SQLAlchemyでデータベースを操作する

## データベースの作成
### 前準備
まずは、Flask-SQLAlchemyをインストールする必要があります。
次のコマンドをターミナルから入力してインストールしておきましょう。
“`
$ pip install flask-sqlalchemy
“`

今回は公式ドキュメントと同様にデータベースはSQLiteを使用します。MacにはSQliteがデフォルトで入っているらしいのでインストールは必要ないですが、VScodeの拡張機能をインストールしておくと便利です。こちらを参考にどうぞ→[【SQLite】VSCodeでSQLiteを使用する方法](https://shigeblog221.com/sqlite-vscode/)

### データベースの作成と各種設定
Flaskでデータベースを使用するには次のように初期化・設定を行います。

“`python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

# create the extension
db = SQLAlchemy()
# c

元記事を表示

Outliner上の順番を整理したい

アウトライナー上での並び順がぐちゃぐちゃだと
やる気が削がれてしまうので綺麗にしたい。

設計

https://help.autodesk.com/cloudhelp/2022/JPN/Maya-Tech-Docs/CommandsPython/reorder.html

こちらを使ってみようかと思います。

一番前に移動させるか、一番最後に移動させるか、相対的に移動させるか
だけなので

ソートしたlistを作成し、頭から順に末尾に移動させていこうかと思います。

とりあえず実装

“` python
def sortOrder(targets):
sortTargets = sorted(targets)
for target in sortTargets:
cmds.reorder(target, b =True)

targets = cmds.ls(sl = True)
sortOrder(targets)
“`

**before**
![image.png](https://qiita-image-store.s3.ap

元記事を表示

[Android] Github Actions + PythonでGoogle Playの段階リリース状態をチェックする

この記事はand factory.inc Advent Calendar 2022 4日目の記事です。
昨日は @ticktakclock さんの [【Jetpack Compose】特定の条件のときだけModifierを追加したい](https://qiita.com/ticktakclock/items/9998a94e92c7c13df70a) でした。  

# 背景
AndroidアプリのアップデートをGoogle Playへ公開する際、[段階的な公開](https://support.google.com/googleplay/android-developer/answer/6346149?hl=ja)を利用して一定の割合のユーザーにのみアップデートを提供し、その割合を徐々に上げていくリリース方法をとるプロダクトは少なくないと思います。
Google Playの段階的な公開の割合は手動で変更する必要があるため、短いサイクルで頻繁にリリースを行っていると割合の変更をつい忘れてしまうことがありました。

現在公開されているアプリの状態は[Google Play Andr

元記事を表示

DVCでデータ分析実務を想定したKaggle環境を作ろう!

この記事はKaggle Advent Calender 12/04の記事として書かれています。

Kaggleはデータ分析者の登竜門としても使われことが多いかと思います。実際自分もその一人でした。
しかし、実際にデータ分析実務をして気づきます「あれ実務、Kaggleと全然ちがくね」。

何が違うかというと、分析ゴリゴリというよりもデータ生成周りが賢くなること、それが機動的に行えることが大事なのです。

今回はこのことを意識した分析環境づくりを僕おすすめのDVCで作って見たいと思います。データ分析用のツールは他にKedroやMLFlowなどのツールがありますが、Kedroは複雑で覚えること多いですし、MLFlowはPythonのコード修正が必要だったり、そもそも実験の管理自体はハイパラチューニングとしてPython内部でやれる(どっちかというと学習器のつなげ方などのコードレベルでの変化をトラッキングしたい)。
何も題材もないと不便なので、KaggleのTitanicを題材にしてやってみようと思います。

[githubレポジトリ](https://github.com/IntenF/dv

元記事を表示

SciPyの微分で振り子をシミュレートする

こんにちは、アドカレ四日目です。

https://qiita.com/advent-calendar/2022/shiro

## はじめに
PythonにはSciPyという数学処理ができるライブラリがあります。
SciPyではいろいろな種類の高度な数学処理ができます。
今回はSciPyの微分のサンプルとして、振り子をシミュレートしようと思います。

## 振り子のシミュレーション

### 前提

以降のコードは全てGoogle Colaboratoryで実行することを前提としており、ここに書かれた実行結果もまた、Google Colaboratoryで実行した結果です。
Google Colaboratoryはシミュレーションの結果をアニメーションとして再生したいため利用しています。

バージョン等に関しては、全て2022/12/04(記事執筆当時)のデフォルトを使用しています。

### ライブラリのインポート
使用するライブラリをインポートします。
SciPy : シミュレーション時に微分を行う
NumPy : 実際にシミュレーションによって座標を求める
Matplotlib

元記事を表示

discord botへのコマンド登録

# 前提

– 想定環境:linux (ubuntu)
– pythonによる開発,つまりdiscord.pyでのdicord botの作成をする
– botのアカウントがある
– botがログインできる

要するに
“`python: discordbot.py
import os
from discord import Intents, Client
from dotenv import load_dotenv
load_dotenv()

class MyClient(Client):
def __init__(self, intents: Intents) -> None:
super().__init__(intents=intents)

async def on_ready(self):
print(f”login: {self.user.name} [{self.user.id}]”)

intents = Intents.default()
client = MyClient(intents=intents)
c

元記事を表示

次世代ロボットOSS、その名もHARK

## 1. はじめに

はいどうも、アドベントカレンダー4日目を担当する3年の[yoshiki495](https://github.com/yoshiki495)です。

先日、HRIと京大が開発・公開しているHARK(Honda Research Institute Japan Audition for Robots with Kyoto University)というロボット聴覚のオープンソースソフトウェア(OSS)の講習会にお邪魔してきました。

このロボット聴覚という研究分野、日本初だとか。さすが京大と言わざるを得ません。

ちなみにタイトルで次世代と言っておりますが、バージョン1.0の公開は2008年だそうです。

次世代って使ってみたかっただけです、はい。

そんなことは置いておいてせっかくOSSを紹介するのでハンズオン形式の記事にしたかったのですが、

このHARKというOSSを使用するためにはマイクロホンアレイを搭載した特殊な機械が必要となるため今回は紹介だけに留めておこうと思います。

以下の記事で実際に使っている様子が見れるので気になれば是非。
> https://

元記事を表示

【後編】ChatGPTでロボットコード「PythonRobotics」を解読できるのか?

# はじめに
基盤モデル×RoboticsのAdventCalendarの4日目です!
カレンダーものぞいてみてくださいー!(私は計3投稿目らしい笑)
https://qiita.com/advent-calendar/2022/robot-ai

拡散RT&いいね何卒です(モチベあがります!)

【ABC280】A~C問題のPython解答と実装の整理

Qiitaで記事を書くのが初めてのさざんかです
今年こそは書いてみようと思いもう12月です…

ABC280の復習もかねて説いた内容と文法を整理しようと思います
公式の解説が理解できたらもう一度コードを書いてみようかなと思います

## AtCoderとは

>AtCoderは、オンラインで参加できるプログラミングコンテスト(競技プログラミング)のサイトです。リアルタイムのコンテストで競い合ったり、約5000問のコンテストの過去問にいつでも挑戦することが出来ます
https://atcoder.jp/home

ABCは毎週開催なので参加しやすいですよね!

## A – Pawn on a Grid

> 上下左右に広がる H 行 W 列のマス目があり、各マスにはコマが置かれているか、何も置かれていないかのどちらかです。マス目上のマスのうち、コマが置かれているようなものの個数を求めてください。
https://atcoder.jp/contests/abc280/tasks/abc280_a

### 入力例

“`
3 5
#….
…..
.##..
“`

元記事を表示

numpyのみを用いてMNISTを分類するニューラルネットワークを自作してみた

こんにちにゃんです。
水色桜(みずいろさくら)です。
今回はニューラルネットワークに関する記事を書いていこうと思います。

# 本記事の目的
本記事ではnumpyなどの基礎的な道具のみを用いてニューラルネットワークを自作していきます。私と同じく、ゼロからニューラルネットワークを自作してみたいという方の参考になれば幸いです。数式に関する解説もしていますので、この記事だけで完結できるようにしていくつもりです。もし記事が良いと思ってもらえたらいいねボタンを押してもらえると今後の励みになります。
今回は特に画像分類問題としてポピュラーなMNISTについて解析を行っていきます。他の記事を見るとライブラリを用いてMNISTの分類を行っている例はたくさんありますが、numpyなどの基礎的なモジュールのみを用いている例は少ないように思えました。
まず実行結果について示します。下の画像のように、学習を行うにつれて、交差エントロピー誤差は小さくなっていき、正答率も上昇していきました。学習回数およびバッチサイズが小さいため、正答率は最高でも46%にとどまっていますが、もっと学習を進めていけば正答率は高くなっ

元記事を表示

OTHERカテゴリの最新記事