Python関連のことを調べてみた2021年09月29日

Python関連のことを調べてみた2021年09月29日

PySide2とPyCharmでGUIツールを作ってみる

# ■ はじめに

Youtube で Cygames さんが期間限定で公開していた Python の動画を見てちょっとやってみたくなって触ってみました。
ひとまずは触りだけ。

# ■ 開発環境

– PyCharm Professional 2021.2.2
– PySide2 5.15.2
– Python 3.7

# ■ PySide2 をインストール

– 1. PyCharm 上で Python3 に対応したプロジェクトを作ります。(ここでは **PySide2Proj** で作ったものとする)
– 2. 「メニューバー」>「ファイル(F)」> 「設定(T) Ctrl+Alt+S」> 「プロジェクト: PySide2Proj」>「Python インタープリター」>「+マーク」を選択。
– 3. `PySide2` と入力しパッケージをインストール。

# ■ 外部ツール設定

PySide2 を使いやすいように外部ツール設定をしておきます。

「メニューバー」>「ファイル(F)」> 「設定(T) Ctrl+Alt+S」> 「ツール」>「外部ツール」>「+マーク」を選択。

元記事を表示

Grafanaで東京と大阪のコロナ新規感染者数をグラフにしてみた

いや、ほとんどCovid-19関係ないのですが。GrafanaをだましてPrometheusの代わりに自作のスクリプトをデータソースにするのを試したのでそのメモ。

#やったこと
Python/Flaskで作った簡易WebアプリをGrafanaのデータソースとして指定した。
WebアプリはなんちゃってPrometheusとして振る舞う。

Grafanaは、データソースがPrometheusの場合は以下のような一連のリクエストをWebアプリに向けて投げてくるので、それぞれに対してそれらしい応答を返せばグラフを描画してくれる。

“`
127.0.0.1 – – [28/Sep/2021 16:36:42] “POST /api/v1/query HTTP/1.1” 200 –
127.0.0.1 – – [28/Sep/2021 16:36:52] “POST /api/v1/labels HTTP/1.1” 200 –
127.0.0.1 – – [28/Sep/2021 16:36:52] “GET /api/v1/label/__name__/values?start=1632

元記事を表示

文末指定のツイート生成モデルを作る

### はじめに
(Autoregressiveな)自然言語モデルによるテキスト生成は、文章の前(左)にある単語から次の単語を予測していくことで行われるのが通常だと思いますが、逆に文章の後ろ(右)の単語から前の単語を予測していく言語モデルを学習させ、文末を指定したツイート生成bot的なものを作ってみようというのがこの記事の趣旨です。
### 方法
方法は単純で、入力テキストの順番を逆転させるだけです。例えば、
“`おはようございます“`

“`すまいざごうよはお“`
に変換します。
これを学習させる全てのテキストに適用して、モデルに学習させます。
### 訓練データ
今回はおよそ4万件のツイートを収拾し、これを学習データとして使用しました。
### コード
今回使用したコードは以下の通りです。
まずは学習テキストを逆転させます。

“`python
import pandas as pd
#使用するCSVファイル
path = “./tweet.csv”
texts = pd.read_csv(path)[‘tweet’].to_list()
data = []
fo

元記事を表示

ABC175 C – Walking Takahashi に挑戦した

https://atcoder.jp/contests/abc175/tasks/abc175_c

![abc175_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/1a405a32-4914-44ce-8672-6292fe8dd5a8.png)
![abc175_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/4db997b8-f447-31f0-0cf3-e1575a5771fb.png)
![abc175_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/2238b59d-f9e6-2ca2-e239-e2cf2844c162.png)

なんかコレ↓の類題じゃね?

https://qiita.com/AKpirion/items/85de771b6132535dde1a

有識者

元記事を表示

AWSでAIサービスを使ってみる〜第14回personalize編その④〜

##前回まで
前回はレコメンデーションを取得するまでのソリューションの構築とキャンペーンを作成しました。

[AWSでAIサービスを使ってみる〜第13回personalize編その③〜](https://qiita.com/AInosukey/items/39f65363a49a656e3e9f)

今回はpersonalize最終回!レコメンデーションを取得していきます。

##レコメンデーションの取得
それではこれまでにPersonalizeに登録してきた諸々のデータや仕組みを用いてレコメンデーション(商品のオススメ)を取得していきます。

レコメンデーション取得のプログラムの全体です。

“`pers_recommend.py
import boto3
import sys

#コマンドライン引数
if len(sys.argv) != 2:
print(‘python’, sys.argv[0], ‘user-id’)
exit()

personalize = boto3.client(‘personalize’)

#personalizeruntimeサービスク

元記事を表示

FastAPIのチュートリアルに取り組んでみた

こちら
https://fastapi.tiangolo.com/ja/

1番最初のinstallをしようとしたところpipが入ってないと怒られたので、まずはpipをインストールした

“`
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
$ pip -V
pip 21.2.4 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
“`

これで完了した。

次の方をインストールしようとしたらまた怒られたので必要なものインストールする。

“`
$ pip install uvicorn[standard]
zsh: no matches found: uvicorn[standard]

$ pip install uvicorn
“`

これで問題なく進められるようになった。

ひとまず最低限の動作確認ができた

元記事を表示

ABC198 C – Compass Walking から学んだ

https://atcoder.jp/contests/abc198/tasks/abc198_c

![abc198_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/0615bfeb-f068-5f8d-45fb-52d96a4fb06f.png)
![abc198_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/76439b49-8a47-7efe-b475-2ca06de6c02f.png)
![abc198_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/3a59d3a8-b857-2cea-509a-1f574f7ca9d7.png)
![abc198_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

[Python] IFFFTのTwitterー>Discord連携が失敗するので、自前でスクリプトを作ってTwitterー>Discord連携した

# はじめに

グラブルの公式TwitterアカウントのつぶやきをDiscordで受け取りたくてIFFFTを使ってTwitterー>Discord連携をしていた。

* よく失敗する
* 連携までに時間がかかる

などの不満を持っていた。なので、自前でスクリプトを作ってTwitterー>Discord連携するようにした。これはその時のメモ。

# 主な構成

* Python3.8
* [dotenv](https://pypi.org/project/python-dotenv/) (.envを定数ファイルとして使用)
* [tinydb](https://pypi.org/project/tinydb/) (DBサーバを立てるのが面倒臭かったのでテキストファイルをDB代わりに使用する)
* [tweepy](https://pypi.org/project/tweepy/) (Twitter APIを簡単に使えるから)

その他のモジュールは下記の通り

“`pipenv:Pipfile
[[source]]
url = “https://pypi.org/simple”

元記事を表示

Deep Learningで長門有希を画像認識させたい。

#ー はじめに ー

西暦2006年、日本のアニメ界に時代を築いた作品と言われれば、何を思い浮かべるだろうか?
「涼宮ハルヒの憂鬱」 (作:谷川 流) 多くの人はこう答えるのではないだろうか。
今回は作内に登場する無口キャラ「長門有希」を識別するモデルを作成したいと思う。
ただ筆者の長門への愛が行き過ぎてしまった為に作られたものなので、興味のある方は読んで頂けたらと思う。

#ー 制作目標 ー

①投入された画像から顔を認識し、長門有希を見つけ出す。
②長門有希を見つけたら、画像のどこにいるか表示する。

#ー 制作環境 ー

macOS Big Sur 11.5.2
Python 3.9.7
Keras 2.6.0
tensorflow 2.6.0
VSCode

#ー 制作手順 ー

1、「涼宮ハルヒの憂鬱」の画像をとにかく集める。
2、集めた画像から、顔部分を切り抜き長門とその他に分ける。
3、画像を水増しして、大量の顔写真を用意する。
4、ラベル付けし、学習モデルを作成する。
5、出来上がったモデルに使用していない画像を渡し、必ず長門を探し出す。
6、結果
7、

元記事を表示

Windows10でPythonが動かない

不具合現象

Pythonのプログラムを起動しようとして
コマンドプロンプトで

$ python xxx.py

と入力すると

Python

とだけ出力して、何もウインドウや結果が出ない。

原因

Windows組み込みのPythonが呼ばれている

C:\Users\{User}\AppData\Local\Microsoft\WindowsApps\python.exe

自分がインストールしたpython.exeが呼ばれるように PATH環境変数を設定する
私の場合は
C:\Users\{User}\AppData\Local\Programs\Python\Python39\python.exe

元記事を表示

【Bolt for Python】ソケットモードでSlack Appを作ってみた

# はじめに
Boltフレームワークを使って、Slackアプリを作成しました。
Slackワークフローに独自のステップを追加できるようになっているというのを知りまして、
「Boltフレームワークを使うと超簡単だよ!」と公式ドキュメントに書かれていましたので、それを試してみます。

Bolt公式で日本語ドキュメントがあり、かなり詳しく書かれているので、基本的にはこれに沿って作るだけです。

https://slack.dev/bolt-python/ja-jp/tutorial/getting-started

また、アプリの機能としては、以前書いた記事↓に似ていますが、
「Slackのワークフローでフォームに入力させ、その値を使ってClickUpでタスクを登録する」というものにします。
以前書いた記事では、ワークフローごとにGASを作る必要があってかなり面倒だった(その分、データ構造を好きにできるという利点はありますが)ので、
Slackのワークフローを作るだけで、ClickUpタスク作成の設定ができたら便利じゃん?という発想です。

https://qiita.com/sallyto

元記事を表示

LambdaでS3の.glbファイルのオフスクリーンレンダリング【Python,Docker,OSmesa】

# はじめに

LambdaでPyrenderを使ってオフスクリーンレンダリングをしたいのですが、レイヤを作るだけではOpenGLが使えないので使えません。OpenGLの機能をGPUの無いLambdaで実行するためにOSmesaというライブラリを使ってCPUでレンダリングします。自分用メモです。

# 前提

– AWSアカウントを持っている
– Dockerの実行環境

# やったこと

レイヤだけでは対応できないのでDockerイメージを作ってコンテナでデプロイします。Lambdaのベースイメージでは(自分がやった限りでは)うまくいかなかったので、Ubuntuのベースイメージを使います。フォルダ構成は以下の通りです。

“`
.
│ app.py
│ Dockerfile
│ env.txt
| entry.sh
└─ requirements.txt
“`

Dockerfileは以下の通りです。

“`Dockerfile:Dockerfile
FROM ubuntu:18.04

ARG FUNCTION_DIR=”/function”
RUN mkdir -p

元記事を表示

“可変長引数”の意味がやっとわかった初心者

まずは普通のパターン。

“`
def arg_loop(pro):
for athlete in pro:
print(athlete)

arg_loop(‘堀口’,’那須川’,’Dustin Pague’,’Floyd Mayweather’)

#結果
TypeError: arg_loop() takes 1 positional argument but 4 were given
“`
普通は関数は1つしか取れないので4つも与えても対応してくれません。そこで便利なのが可変長引数です。4つでも5つでも与えた分だけ(=可変長)、下のように結果を返してくれます。引数proの前に「*」をつけるだけです。

“`
def arg_loop(*pro):
for athlete in pro:
print(athlete)

arg_loop(‘堀口’,’那須川’,’Dustin Pague’,’Floyd Mayweather’)

#結果
堀口
那須川
Dustin Pague
Floyd Mayw

元記事を表示

PyTorchによるVAE実装

# はじめに
PyTorchのVAEモデルを作成しました。ネットで検索した際に、MNISTを用いたものは多くありましたが、その他のデータセットを用いたものは少なかったので記事にしてみました。
理論的な側面よりも実装することを重視して記事にしたので間違いや不正確な部分がある点はご了承ください。また、コメントで指摘していただけると大変ありがたいです。

# 実装内容
PyTorchのVAEモデルを使って数字とひらがなの画像データを入力し、出力として画像を生成することを目指す。

# ソースコード
動いているところがすぐに見たい方はこちらをどうぞ
[Google Colab](https://colab.research.google.com/drive/1csjUkUrAUlmI1jTz7w-4dBPDEHmKD3rg?usp=sharing)

# データの作成

ここは後の処理がしやすいように、MNISTの画像をPNG形式に変換しました。これを数字データとして扱います。ひらがなデータは[ここ](https://github.com/ndl-lab/hiragana_mojigazo)の

元記事を表示

Pythonで結晶を描画するプログラムを作る~分極座標とアフィン変換#2~

投稿日:2021/09/28
更新予定内容:映進操作

# はじめに
[前回](https://qiita.com/PHVTuber/items/40bb5b151c4404de7dab)は対象操作と平行移動(並進操作)から構成されたアフィン変換によるアフィン空間(分極座標の3次元$+$ダミー次元)上の操作の可視化について学びました。本記事では前記事で取り扱わなかった反転、鏡映、回映、回反操作の可視化を目指します。これらの操作は対象操作$A$の部分のみを変更するだけで良いため、プログラムの変更がない限り前記事のものを流用します。また、ここらの話は群論のビジュアル的な理解が進むかと思うので色々パラメータをいじって遊んでいただけたらと思います。

– [Pythonで結晶を描画するプログラムを作る~単位格子を描く~](https://qiita.com/PHVTuber/items/d075e05b8b014a3350c9)
– [Pythonで結晶を描画するプログラムを作る~分極座標とアフィン変換~](https://qiita.com/PHVTuber/items/40bb5b151c

元記事を表示

openCVで画像を合成する

# はじめに
openCVを使って、正式には**アルファブレンド**と呼ばれる画像の合成のやり方を学んだのでメモ。

画像の合成は実用面で言うと、例えば超解像タスクでTTA(Test Time Augmentation)の一種で、何枚かの画像を合成してスコアを上げる**Geometric Self-ensemble**として論文でも紹介されていたりします。

詳しくは[コチラの論文](https://arxiv.org/pdf/1707.02921.pdf)を。

# サンプル画像
以下の4枚の画像を使います。
建物、森、氷河、海の画像です。

![download.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/890361/d0f1b262-113b-4a09-b868-5456905185bb.png)

# cv2.addWeightedを使う
画像の合成自体はopenCVを使えば実装自体は非常に簡単でcv2.addWeightedを使用すれば良いです。

必要なものをインポートして

“`p

元記事を表示

AWSでAIサービスを使ってみる〜第13回personalize編その③〜

##前回まで
前回はデータセットをs3にアップロードするまでのロールの作成とデータセットの取り込むプログラムを確認しました。

以下、前回までの記事です。

[AWSでAIサービスを使ってみる〜第11回Personalize編〜](https://qiita.com/AInosukey/items/1939cbac0ac5085f6463)

[AWSでAIサービスを使ってみる〜第12回personalize編その②〜](https://qiita.com/AInosukey/items/4215a0030b054609afc8)

##ソリューションとキャンペーンについて

今回はデータ作成後に行うソリューションの構築とキャンペーンを作成していきます。

#####ソリューション
・Pesonalize上でレコメンデーション(商品のおすすめ)を作成する仕組みのことをソリューションと呼びます。

#####キャンペーン
・ソリューションを公開するための仕組みのことをキャンペーンと呼んでいます。レコメンデーション(商品のおすすめ)の取得には学習済みのソリューションバージョンからキャンペー

元記事を表示

Blender Python APIを使ってブーリアン演算をバッチ処理してみよう

# 概要
– Blender Python APIを使って2つのstlファイルのブーリアン演算をバッチ処理するよ
– stlを読み込んだ後はbpy.data.objectsを使って該当のオブジェクトを呼び出すよ
– ブーリアン処理はmodifierを使うよ

# Blender Python API is 何?
Blenderという3Dモデリングソフトウェア上で出来ることの大半をPythonで実行するためのAPIです。ここではWindows上でバージョン2.93.5を使用します。

– 公式
– [blender.org – Home of the Blender project – Free and Open 3D Creation Software](https://www.blender.org/)
– API Documentation
– [Blender 2.93.5 Release Candidate Python API Documentation — Blender Python API](https://docs.blender.org/api/curren

元記事を表示

Python RequestsモジュールでのJSONDecodeError

# 概要

– PythonのRequestsモジュールを利用して、APIレスポンスを取得しようとしたが`JSONDecodeError`になり、うまく取得できなかった。
– レスポンスがHTMLなのにJSONに変換しようとしていたことが原因。
– とりあえず、Unicodeに変換したらちゃんと取得できた。

# もうちょっと詳しく

**エラーが出た。。。なぜ?**

以下のように`requests.request`でResponseを取得して`r.json()`でJSONに変換した。

“`python
r = requests.request(method, URL, heasers=headre, data=data)
return r.json()
“`

そうすると下記のエラーが出た。。。
`JSONDecodeError, Expecting value: line 1 column 1 (char 0)`

色々試したところ、`requests.request`で取得したResponseオブジェクト`r`がHTMLだということがわかった。

**対処!!**
`re

元記事を表示

[記事紹介] PythonのWhoisライブラリの闇

@qualitia_cdevの中の一人、@hirachanさんが書いた記事をみなさまにご紹介します。

### PythonのWhoisライブラリの闇

https://qiita.com/hirachan/items/6787cb146838aade2d56

元記事を表示

OTHERカテゴリの最新記事