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

Python関連のことを調べてみた2022年10月05日
目次

OBS 28 の仮想カメラ(VirtualCam)をOpenCVで取得する on Windows

# これを使え
ここの最新バージョン\(ver 3.*\)のインストーラーを使用してください。

https://github.com/Avasam/obs-virtual-cam/releases

Home Page

https://github.com/Avasam/obs-virtual-cam

## 動作
一応動作確認用の環境情報とコードを貼り付けておきます。

### 環境
– Windows11, 10
– OBS 28.0.3 64 bit
– Python 3.10.6
– OpenCV 4.6.0

### コード

“`py
import cv2
import time

capture = cv2.VideoCapture(0) # 0ではない場合が多いですが筆者は0でした。

while True:
start = time.time()
ret, frame = capture.read()
cv2.imshow(“capture”, frame)

if cv2.waitKey(1

元記事を表示

【YOLOXで自前のアプリを作る。その2】- GoogleColaboratoryでYOLOXをとりあえず試す。

画像に写っているものを検出する「物体検出」にはR-CNNやSSD,YOLOといったディープラーニングを用いた手法があります。
なかでもYOLOは処理速度が速く精度も高いといわれています。

このYOLOにはいくつかバージョンがあるのですが、今回は最新バージョンであるYOLOXをGoogleColaboratoryで試す方法について記載していこうと思います。

最終的には自分で用意した画像から学習データを作成して、そのデータでYOLOXを学習させ自作のPythonアプリに組み込むところまでやろうと思います。
・[【YOLOXで自前のアプリを作る。その1】- YOLOXで学習させるための、COCO形式の自前データセットを作成する。](https://qiita.com/shigeharu_shibahata/items/f4ac1823c1172034e0fc)
・【YOLOXで自前のアプリを作る。その2】- GoogleColaboratoryでYOLOXをとりあえず試す。 ← イマココ
・【YOLOXで自前のアプリを作る。その3】- GoogleColaboratoryでYOLOXの学

元記事を表示

PySpark によるデータエンジニアリング実践

## 概要

PySparkにてデータエンジニアリングを実施する際に知っておくべき次のテーマを説明する。

1. ACID トランザクションの保証されているデータフォーマットの利用
1. レイテンシーに応じたデータ処理方法の選択
1. メダリオンアーキテクチャによるデータエンジニアリング
1. Spark によるデータエンジニアリングに利用すべきプログラミング言語とライブラリー
1. パフォーマン最適化
1. データエンジニアリングにおける Spark 関連
1. 処理の共通化

本記事のコードを含むノートブックを以下のリンクに保存しておりますので、興味がある方は Databricks 等の環境にインポートして実行してみてください。

https://github.com/manabian-/databricks_development_practices/blob/main/docs/jp/notebooks/T20__L100__010_PySpark%20%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%82%A8

元記事を表示

DeepL API + PyMuPDF + PySimpleGUIで英文翻訳プログラムをGUI化してみた。

## 概要
下のホームページで紹介されていたプログラムをGUIで操作できるように改造してみました。

https://ai-research-collection.com/translate_pdf/

今回目指したのは、
1.任意のPDFファイルをGUIで選択する
2.元のファイルと同じディレクトリにMarkdown形式で保存(〇〇.pdf->〇〇.md)
の2点です。

## 事前準備
– Pythonと必要なライブラリ(後述)のインストール
– DeepLのAPI取得:上記HPを参考にしてください

## 必要なライブラリ
– PyMuPDF
– PySimpleGUI
– requests(エラーが出るようなら追加でインストール)

## コード
“`
# 必要なライブラリのインポート
import PySimpleGUI as sg
import fitz
import requests
import json

# PySimpleGUIの設定
font_size = 50

layout = [
[sg.Text(“PDFファイルを選択:”, font=font

元記事を表示

PySpark 開発時に知っておくべき7つのテーマ

## 概要

PySpark 開発時に知っておくべき7つのテーマである次の項目を説明します。

1. SparkSession 、 Spark Dataframe 、および、 Spark table
2. `Dataframe in, Dataframe out`
3. 変数とクラスの利用
4. 変数からデータフレームを作成
5. データフレームにおけるメタデータとデータを取得
6. Spark SQL を PySpark で利用
7. 制御フローによる PySpark処理の実行

本記事のコードを含むノートブックを以下のリンクに保存しておりますので、興味がある方は Databricks 等の環境にインポートして実行してみてください。

https://github.com/manabian-/databricks_development_practices/blob/main/docs/jp/notebooks/T10__L100__010__PySpark%20%E9%96%8B%E7%99%BA%E6%99%82%E3%81%AB%E7%9F%A5%E3%81%A3%E3%81%

元記事を表示

mocker fixureを使用したテスト対象処理のMock化

# 本記事について

本記事では、ユニットテストの対象となるメソッド内で呼び出している各種メソッドを、pytestのmocker fixureを使用してpatchを適用し、テスト対象となる処理をMock化する場合の実装サンプルを記載しています。

# 本記事の作成環境

+ Ubuntu 20.04.3 LTS on WSL2
+ Python: 3.9.7
+ pytest: 7.1.2
+ pytest-mock: 3.7.0

# patchの適用によるテスト対象のMock化

## クラスオブジェクトに対してpatchを適用

クラスオブジェクトに対して`mocker.patch()`、または`mocker.patch.object()`を使用して、patchを適用します。
クラスオブジェクトにpatchを適用するため、テストメソッドを終了するまでは、以降は常にMock化した値を返却します。

### クラスメソッド / 静的メソッド

#### テスト対象メソッド

`pathlib.Path`クラスのクラスメソッドである、`cwd()`にpatchを適用してテストを実施し

元記事を表示

【Django】テストってなんぞ!٩(๑`^´๑)۶な方へ

## テストコードにチャレンジしよう

Djangoで独自のアプリを開発していると、テストについて考えるようになってくると思います。

「テストコードがない=品質に保証がない」となる場合があるので、簡単なテストだけでも書けるようになっておくと良いです。

テストコードは、クライアントや第三者のためにあると思われるかもしれませんが、開発者にも大きなメリットがあります。

## テスト無しの場合

1. コーディングする(runserverでエラーチェック)
1. `http://127.0.0.1:8000/`でページや関数の数だけ手動で動作チェック
1. ページやviewが多いと面倒くさい

## テスト有りの場合

1. コーディングする(runserverでエラーチェック)
1. `python manage.py test`で全てのページと関数を自動でチェック
1. ページやviewが多くなっても楽ちん

あとrunserverで表示されないエ

元記事を表示

beam search; ビームサーチ; python

幅優先探索の亜種ですね。

1. rootノードのみからなるpath一つを持つpathsを生成
1. paths内の全てのpathを1階層分だけ展開しpathsを更新
1. スコアが最も高いk個のpathのみをpathsに残す
1. 2に戻る

補足: https://www.baeldung.com/cs/beam-search

## コード

下記のように実装しました。

“`python
from heapq import heapify, heappush, heappop, heappushpop

def beam_search(root, k, api):
“””
Args:
root : root node
k : number of remain paths during search
api : apis for beam search
Notes:
api should have functions as follows.
(1) init : init

元記事を表示

京セラプログラミングコンテスト2022(ABC271) A~D問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder

ABC271(AtCoder Beginner Contest 271) A~D問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

その他のABC解説、動画などは以下です。

更新時はツイッターにて通知します。

https://qiita.com/sano192/items/54accd04df62242b70f0

# 京セラ株式会社様について

https://www.kyocera.co.jp/prdct/fc/industries/index.html

https://www.kyocera.co.jp/next-kyocera/

# A – 484558 Dif:28

https://atcoder.jp/contests/abc271/tasks/abc271_a

Nを16進数へ変換します。やり方がわからなかったら「python 16進数」でググりましょう。
hex(N)とすることでNを16進数変換できます。
試しに16進数変換したものを出力してみます。Nは181としてみましょう。

元記事を表示

IrisデータセットをSnowparkで操作してみた。(機械学習もしてるよ)

Snowflakeが提供するSnowparkについて紹介する。なお、あくまでも個人として記述しております。

## (久々に書こうと思った)背景・モチベーション
1. Snowparkに関する日本語の記事がない
2. 自分の頭の整理として記事にしておく

## Snowparkとは?
Snowflakeが提供するライブラリで、データエンジニアやデータサイエンティストを対象にScala、Python(現在プレビュー)、Javaなどプログラミング言語に対応しながら、DataFramesのような使い慣れたプログラミング構造を使用し、より効果的にデータの操作が可能である。Snowparkは開発に力を入れていることもあり、2022/10月現在ではマイナーバージョンアップが1 or 2ヶ月に一度発生している状況である。

##### 参考ドキュメント
1. [Snowpark API Refrence](https://docs.snowflake.com/ja/developer-guide/snowpark/reference/python/index.html)
2. [snowflak

元記事を表示

高校のクラスマッチの特設サイトを作った話

# 目次

目次

– [はじめに](#はじめに)
– [動機](#動機)
– [構想](#構想)
– [限定公開にする](#限定公開にする)
– [トーナメント表示](#トーナメント表示)
– [編集機能](#編集機能)
– [実装](#実装)
– [環境構築](#環境構築)
– [トーナメント表を実装](#トーナメント表を実装)
– [メイン画面の作成](#メイン画面の作成)
– [編集画面の作成](#編集画面の作成)
– [追加機能](#追加機能)
– [結果](#結果)
– [反省](#反省)
– [最後に](#最後に)

# はじめに
こんにちは、Laddgeです。今回は、9/28(水), 29(木)に自分の高校で行われたクラスマッチで、校内向けの特設サイトを作りました。

↓サンプル

https://laddge.github.io/classmatch_site/

:::note alert
本記事の内容は、長野県屋代高等学校に非公式で公開しているものです。

元記事を表示

Deep Learningで文章をNERする(AIで暗記を効率化する)

## google colab コード
https://colab.research.google.com/drive/1R9vW91c9iwbC-uhVPn1BTRiqUbMQMYHK?usp=sharing

# 概要
 今回はdeep learningを用いたモデルに文章を与えて、その文章の特定のキーワードだけmaskingすることを目指しました。
 例えば、多くの人は学生時代や資格の勉強などで文章にペンで緑色を引いて赤下敷きや赤シートで隠すということをやられたかと思います。しかし、それは意外と面倒です。下敷きで隠す前に線を引くだけで疲れてしまうこともあります。

 その線で隠すというタスクをdeep learningで自動でやってもらって勉強の能率をあげようという目的で取り組みました。

 これを達成する上で一番単純なのは、文章の固有名詞を抽出して全て隠すという方法です。
ただ、これは文章のキーワードが消えすぎてしまいます。一方で多くの文章にはその分野のキーワードだけではなく、色々な分野の固有名詞が含まれます。

 機械学習の勉強をする人であれば、文章の機械学習に強く関連したキ

元記事を表示

PythonからExcelを操作できるOpenPyXLを使って月報作成を自動化しよう

# 0. はじめに
シフト勤務の方や、月報のExcelファイルがマクロ対応していないMacを使用している方にとって
月報の勤務表や交通費精算の入力は手間が掛かる作業です。

シフトが日勤と夜勤で時間が決まっているなら、5日は日勤、6日は夜勤、というような入力で
自動でExcel書き込みしてくれると負担が減りそうです。

そこで今回はpythonからExcelを操作できるOpenPyXLで月報作成を自動化していきます。
pythonやOpenPyXLは執筆日現在(2022年9月13日)の最新版を使用しています。

– [openpyxl – A Python library to read/write Excel 2010 xlsx/xlsm files](https://openpyxl.readthedocs.io)

ソースコードはこちらを参照ください。
– [otiba30/monthly_report](https://github.com/otiba30/monthly_report)

# 1. ライブラリ導入
まずはOpenPyXLを導入します。

“`sh
$ pip

元記事を表示

ARC149回答メモ

0.はじめに
 レギュラーコンテストは1問解くことを目標に参加してます。

1.A – Repdigit Number
 考え方1)
  大きい方からぞろ目数を作っていき、割り切れたところで終わらせれば早い!勝てる!
  と、以下のような大きい方からぞろ目作るロジックを作り提出
 
“`
X=10**N #10のN乗作成 ex.N=6、1000000
while(N>0): #
X-=1 #↑から1を引き9のぞろ目 ex.999999
Y=X//9 #ぞろ目数の推移用値を用意 ex.111111
for i in range(9): #
if(X%M==0): #あまり0判定
print(X) #割り切れたらプリントし
exit() #終了
elif(X>Y):

元記事を表示

【機械学習】数式をコード化する基本のき

# パーセプトロン

[ソースコード](https://github.com/deep-recommend/distribution/blob/main/Perceptron.ipynb)

パーセプトロンについて詳しくはこちら

https://ja.wikipedia.org/wiki/%E3%83%91%E3%83%BC%E3%82%BB%E3%83%97%E3%83%88%E3%83%AD%E3%83%B3#:~:text=%E3%83%91%E3%83%BC%E3%82%BB%E3%83%97%E3%83%88%E3%83%AD%E3%83%B3%EF%BC%88%E8%8B%B1%3A%20Perceptron%EF%BC%89%E3%81%AF,%E5%9B%9E%E5%B8%B0%E3%81%A8%E7%AD%89%E4%BE%A1%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82

インポートします。

“`py
%matplotlib inline
import math
import copy
import numpy as np
imp

元記事を表示

Django×Vue.jsで日本語ファイル名を返すまで

## 要件

– Django側で生成したCSVファイルを、ブラウザ側でそのまま保存する動きを作りたい
– CSVファイル名はパラメータに変化し、日本語も含まれる

## 結論

“`python
# ファイル名はURLエンコードする
parsed_filename = urllib.parse.quote(filename)
response = HttpResponse(file_data, content_type=”text/csv”)
response[“Content-Disposition”] = f”attachment; filename={parsed_filename}”

return response
“`

“`javascript
this.$axios.post(‘/download/csv’, params, {responseType: ‘blob’}).then((res) => {
if (res) {
const blob = new Blob(

元記事を表示

Google Maps APIのGeocoding APIの番地取得処理を見直そう

# はじめに
[前回の記事](https://qiita.com/Kanno-san/items/689b463a030199c928cf,ジオコード)では、ジオコーディング時に変換前の住所と変換後の座標についてくる住所データを比較し精度のチェックをしました。
今回の記事では、残課題になっている変換後の住所で番地表記がブレる課題の対策をしていきます。

# 背景と目的
## 背景(再掲)
当社ではガスや灯油の個人宅への配送を支援するサービスを提供しています。
そのサービスの中に配送順を算出する機能がありますが、とりわけ重要となるのが個人宅の座標取得(ジオコーディング)となります。
座標がずれると「おかしな配送順序になる」、「ナビアプリへ連携したときに変なところに案内される」などの問題が発生します。

### 課題
座標の精度チェックの場合に以下の挙動が発生し、比較に失敗する場合がありました。
+ ○丁目-△の様に丁目や小字の後にハイフンが入ってしまう
+ 〇〇△△の様に番地がくっつく

## 目的
前述の課題を回避するため、比較用住所の構築のロジックの見直します。

### やること

元記事を表示

WSL2で今話題のStable Diffusionを動かしてみた

まずはUbuntuを最新の状態にアップデート
“`
$ sudo apt update
$ sudo apt upgrade
“`

NVIDIA GPU(CUDA)が使える状態になっている事を確認
“`console:
$ nvidia-smi
Mon Oct 3 11:03:01 2022
+—————————————————————————–+
| NVIDIA-SMI 515.65.01 Driver Version: 516.94 CUDA Version: 11.7 |
|——————————-+———————-+———————-+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage

元記事を表示

(初心者向け)BERTを用いたチャットボット(質疑応答)

こんにちにゃんです。
水色桜(みずいろさくら)です。
今回はBERTを用いたチャットボットについて説明していこうと思います。
そもそもBERTって何って感じの方にもわかりやすいように書いていくつもりです。
まず今回の目標を先に示そうと思います。
下の画像のように、背景となる文章を与えたときに、質問に答えてくれるプログラムを作成します。
(ぐへへ…これを使えば宿題も自動でやってくれ…ちょっ先生に言うのだけは!)

まずBERTの基礎となっているtransformersというものについて説明し、その後、BERTについて説明します。最後に実際にプログラムの説明をしていきます。
本記事では簡略化のためにモデルの作成については取り扱いません。気になる方は[こちら](https://qiita.com/kumakura013/items/72ca663cfd071000f4c9)の記事を読んでみてください。とても詳しく解説されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2847349/

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのオブジェクト指向プログラミングの比較

Python JavaScript PHP Java Ruby

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのオブジェクト指向プログラミングの比較

# Python

https://qiita.com/kaitolucifer/items/926ed9bc08426ad8e835

# Ruby

https://qiita.com/shogo-1988/items/e749208c0733bbe025c0

# PHP

https://qiita.com/mpyw/items/41230bec5c02142ae691

# Java

https://qiita.com/nao0725/items/aba8126c50bf85543c78

# JavaScript

https://qiita.com/shotets/items/e4b2ca36f5cbdc39

元記事を表示

OTHERカテゴリの最新記事