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

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

ChArUco マーカーボードで位置推定

# ChArUcoとは

公式Doc: https://docs.opencv.org/3.4/df/d4a/tutorial_charuco_detection.html

![charucodefinition.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188173/c7c0c06f-b45b-f6c6-48ca-bcc00b7d09ac.png)

> The ArUco part is used to interpolate the position of the chessboard corners, so that it has the versatility of marker boards, since it allows occlusions or partial views. Moreover, since the interpolated corners belong to a chessboard, they are very accurate in terms of sub

元記事を表示

4行のコードでAI物体検出を使う方法【Python,Yolov5】

# 物体検出を使ってみたい
プログラムが自動で画像から物体を見つけてくれる物体検出、色々な分野で使えます。
![6ffb75b6-a203-4b7f-b512-504062e15991.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/f423d4dd-f299-a6cb-48ee-82686f5bc477.jpeg)

# AIを使うのは難しそう
何行もコードが必要と思うじゃないですか。

# 実はめちゃくちゃかんたん
すごくかんたんに使えるようになっています。
今回は**Yolov5**を使います。

https://github.com/ultralytics/yolov5

# 方法

torch hubからモデルをロードして、画像を入力として与えます。

“`python
import torch
model = torch.hub.load(‘ultralytics/yolov5’, ‘yolov5s’) # initialize model
result = model(‘t

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのビット演算の比較

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

Python,Ruby,PHP,Java,JavaScript,Perlのビット演算の比較

# Python

https://qiita.com/7shi/items/41d262ca11ea16d85abc

# Ruby

https://qiita.com/jkr_2255/items/8e29dce1999f3f6b69ad

# PHP

https://qiita.com/mpyw/items/ce626976ec4dc07dfec2

# Java

https://qiita.com/Ingward/items/43acda931c8a62c70d2f

# JavaScript

https://qiita.com/41semicolon/items/c1a16f220d4545410ddc

# Perl

https://perlzemi.com/blog/200808061

元記事を表示

DynamoでRevit Python Wrapperをつかう

# RPW(Revit Python Wrapper)とは
RevitAPIを簡単に扱えるようにしたパッケージです。DynamoのPythonスクリプトやRevit Python Shell (RPS)、pyRevitなどで使用できます。

https://revitpythonwrapper.readthedocs.io/en/latest/index.html

# インストール

### Dynamoパッケージのインストール

「__パッケージ__」→「__パッケージの検索__」から RevitPythonWrapperパッケージをインストールします。
最新版はバージョン1.7.2で、2017年から更新されていません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2059946/7396f2a1-5a46-ba83-21b4-21cd12b32745.png)
パッケージは下記のディレクトリにインストールされています。
“`
C:\Users\<ユーザー名>\AppData\R

元記事を表示

「ナース・スケジューリング: 問題把握とモデリング」 を文系初心者にも分かるように図やイラストを追加する_3

# この記事は
:::note warn
この記事は
「ナース・スケジューリング: 問題把握とモデリング」 を文系初心者にも分かるように図やイラストを追加する_2 の続きとなる記事です。
:::

https://qiita.com/ookamikujira/items/507501c8ee8927f7f781

# 3章 組み合わせ最適化問題としての定式化
## 3-3 各ナースの各日程の勤務内容を組み合わせる定式化(p.44)
>b)同一シフトが連続しない場合の間隔日数
>$ナースi\in M$の$シフトk\in W$の間隔日数の下限$u_k$を守るために
<中略>
以下のように表す。
>“`math
>x_{i,j-t,k}-\sum_{h=1}^{t-1}x_{i,j-h,k}+x_{ijk}\leqq1\\
>t\in \{2,3,…,u_k\}
>“`

本書の例に倣って$u_k=4$(間隔下限が4日。下の図では休みの間隔下限として図解。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

自作形態素解析辞書 及び、品詞の厳選を考慮したBM25の実装

# はじめに
 [前回の記事](https://qiita.com/Lucky_Acky/items/9fbbd4b23c28a5c8622f)は、gensimを用いたBM25の実装を行いました。(開発環境は前回の記事と同じです。)
 今回の記事では、BM25を使用するにあたり 品詞の厳選と自作形態素解析辞書を考慮したいと思います。

# 自作形態素解析辞書の作成
## 概要
  TF-IDFやBM25のスコアを計算する際に、文書を単語ごとに分解します。分解は、janomeなどのトークナイザに登録されているものがの基準になっています。
 ですので、「東京タワー」は「東京, タワー」「人間ドック」は「人間, ドック」になります。これは、単語の重要度を計算する中で 少なからず計算結果に影響します。
 この問題については、自作形態素解析辞書(以降、自作辞書)を自作して追加することで、「東京タワー」を「東京タワー」として扱うことができます。

## 自作辞書の作成方法
 自作辞書は。csvにて作成可能です。以下の要素をカンマ区切りで作成するだけです。(詳しくは後述しますがutf-8で読み込むた

元記事を表示

凡人でも入緑できました!(初投稿)

## プロフィール

– 理系大学生
– pythonを初めて約1年
– 凡人です(緑になるのに50回以上参加しているので…)

## 使用言語

– 機械学習や深層学習にも興味があり、いずれkaggle等にも挑戦したいと考えていたためpythonを選択しました。
– 処理速度は灰~緑diff程度では気にすることはほとんどないと思います。
– python or pypy みたいな知識を知っておく必要があるのが少し厄介でした

## 緑色の個人的なレベル感

– 最近のインフレにより、昔の問題と比べると同じdiffの場合の難易度は上がっているとは思います。
– chokudaiさんの記事に書いてあることは今でも的を得ていると思っています。

## 入茶した時の知識

– データ構造(連想配列,Heap,deque)
– 全探索

元記事を表示

Yolov5でSemanticSegmentationができるって知ってた?

# しかもめっちゃかんたんに使えます

https://github.com/ultralytics/yolov5

リポジトリをクローンして、必要なライブラリをインストール。

“`shell
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
pip install -r requirements.txt
“`

入力パスを指定して実行。
画像や動画、Webカメラで使えます。

“`shell
python predict.py –source “Cat.mp4”
“`

![Oct-07-2022 15-51-41.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0

元記事を表示

【Pytorch】MNISTのCGAN(Conditional GAN)を実装する

# はじめに
本記事は[前回](https://qiita.com/gensal/items/4be65d9b36fac02f877e)の続きとなります。

本記事に記載のコードは以下のnotebookに記載されています。
外部データなど不要ですので、とりあえずCGANを動かしてみたいという方は触ってみてください。
https://colab.research.google.com/drive/1fv1dLmGjChxKtkvomujlulQqc5zw5Pot?usp=sharing

# CGANとは
CGANはConditional Generative Adversarial Networkの略であり、条件付き敵対的生成ネットワークと訳されます。
前回実装した単純なGANでは、狙った数字の画像を生成することはできませんでした。
しかしCGANでは画像のラベル(MNISTでは何の数字であるか)を学習に使用することで、特定の画像のみを生成することが可能となります。

CGANにも様々な種類がありますが、今回は識別器のみにラベルを流し込むモデルを実装します。(一番右側のモデルです。)

元記事を表示

オペレーションズ・リサーチ - データ包絡分析法の紹介 –

## はじめに
オペレーションズ・リサーチの分野はデータサイエンスの領域ではAIや機械学習ほどメジャーではないかもしれない。ただ、広くは数理最適化問題を扱い、最適なシステムの運用を研究するものであるので、筆者はその有用性を広めてこの研究分野を活発にし発展に貢献したい。特に今回はデータ包絡分析法(Data Envelopment Analysis)について取り上げた。

※この記事は専門分野外の方に対してわかりやすい説明を意図している

## 目次
[DEAとは](#1-deaとは)
[応用事例1](#2-応用事例1)
[応用事例2](#3-応用事例2)
[様々なモデル](#4-様々なモデル)
[おわりに](#5-おわりに)

## 1. DEAとは
一言でいうと、入出力の関係をもつデータの効率性をノンパラメトリックに評価する手法。入力は少なく、出力が大きい方が望ましいという関係を持つ。なんらかのデータを評価する場合によく用いられる。例えば銀行の各支店、賃貸物件、ビルエネルギー、営業マンなどなど。

#### 1.1. 例を用いて考える
あるコンビニエンスストアを経営していると

元記事を表示

protobufのbuilder.pyが見つからなかった

# 動作確認環境
macOS Monterey (12.2)
MacBook Air(M1、2020)
チップ: Apple M1
Python: 3.9.13
conda version: 4.14.0
protobuf: 3.19.4
mediapipe-silicon: 0.8.11

# はじめに
M1macbookでmediapipeを入れて動かそうとしたところ、以下のエラー。

“`
import mediapipe as mp
File “~/miniforge3/envs/grad/lib/python3.9/site-packages/mediapipe/__init__.py”, line 17, in
import mediapipe.python.solutions as solutions
File “~/miniforge3/envs/grad/lib/python3.9/site-packages/mediapipe/python/solutions/__init__.py”, line 17, in

元記事を表示

pandasでデータ加工をおこなうには

# はじめに
始めまして、株式会社ジール所属の@hiroaki_yoshidaです。
普段はAWSやPythonを使った開発を行っています。
開発に携わるにあたり、現場で学んだ事をアウトプットしていこうと思います。

今回の記事は前回の続きでPythonの __pandas__ というライブラリについて書いていこうかと思っており、データ加工の手段について基本的なSQL文と比較しながら説明したいと思います。

前回の記事がまだの方はこちらから↓
[データ分析ライブラリのpandasについて](https://qiita.com/hiroaki_yoshida/items/d295dce3ccda979a7ba7)

# 実行環境
pyhonバージョン:3.7.6
pandasバージョン:1.0.1

# SQLとは?
今回比較対象とされるSQLとはいったいなんぞやという方がいらっしゃるかと思いますので、簡単にご説明します。
__SQL__ とは「 __Structure Query Language__ 」の略です。日本語だと構造化問い合わせ言語です。
データベース(以下DB)から必要

元記事を表示

pythonライブラリのversion管理(not best practice)

pythonのライブラリを個人で作成していて、バージョン管理方法に悩みました。

解決したい課題は
・setup.py中のversionと__version__.pyのversionが二重管理になること
・出来れば、ビルドするごとに自動でバージョンが挙がってほしい
 の2点です。

## 検討した方法
ベストプラクティクスとは思いませんが、以下の様な形式にしました。
黒魔術感はありますが、出来るだけ自然な形にしたつもり

①setup.cfgファイルで__version__.pyを参照する
②__version__.pyのヴァージョンをビルドごとに+1する

__version__.py
“`
__version__ = “0.1.5”
“`

setup.cfg
“`
[metadata]
version = attr: library.__version__.__version__
“`

setup.py
“`
from setuptools import setup
setup()
“`

update_build.py
“`
import li

元記事を表示

顔写真から国籍を判定するアプリ

# 目次
[1.はじめに](#1-はじめに)
[2.アプリの概要](#2-アプリの概要)
[3.開発の流れ](#3-開発の流れ)
[4.スクレイピングによる画像収集](#4-内容は)
[5.画像の下処理](#5-画像の下処理)
[6.画像の水増し](#6-画像の水増し)
[7.モデルの学習](#7-モデルの学習)
[8.アプリの作成](#8-アプリの作成)
[9.判定してみた](#9-判定してみた)
[10.改善点](#10-改善点)

# 1. はじめに
この記事ではプログラミング未経験の私がAidemy「AIアプリ開発講座」を受講し、最終成果物として作成した「国籍判定アプリ」の制作手順について説明します
# 2. アプリの概要
顔写真をアップロードするとその人の国籍を判定します(日本、アメリカ、イタリア、インドのみです笑)
# 3. 開発の流れ
データ収集 → データ加工 → モデルの学習 → アプリの作成

# 4. スクレイピングによる画像収集
icrawlerを使用して画像を収集した。
“`get_images.py
from icrawler.builtin impor

元記事を表示

【Colab】「ニューラルネットワーク、多様体、トポロジー」を実装する

Christopher Olah氏のブログ記事[「ニューラルネットワーク、多様体、トポロジー」](http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/)にインスパイアされて、Olah氏の記事に記載されていたいくつかの動画を実装してみました。

# 「ニューラルネットワーク、多様体、トポロジー」記事概要

Google Brain、OpenAI、AnthropicAIなど機械学習の最前線で活躍するChiritopher Olah氏が2014年に投降したブログ記事「ニューラルネットワーク、多様体、トポロジー」が面白いです。
深層学習をはじめとするニューラルネットワークによる機械学習がある層から次の層へと進むにつれて「何をやっているのか」、結果として「なぜ優れたパターン認識性能を生み出せるのか」を視覚的に理解しようとした記事になります。(記事自体は多様体学習にまで踏み込んだより深い内容ですが、この記事では扱いません。というかあつかえませんでしt)

例えば、下記のように青色の線と赤色の線を識別したい「二値分類問題」をニューラ

元記事を表示

SageMakerノートブックインスタンス内にあるJupyter NotebookをAPI経由で操作してみた

# まえがき
SageMakerノートブックインスタンスを作成し、その中に作ったJupyterNotebookを別スクリプトで動作させたい要件がありました。そのためのプログラムを作成しました。
ノートブックインスタンス及びJupyterNotebookは既に作成済みである前提として記載します。

# 参考サイト

https://www.linkedin.com/pulse/how-run-sagemaker-notebook-from-aws-lambdas-saurabh-aggarwal

# プログラムの流れ
1. ノートブックインスタンスを起動する
1. インスタンス内にあるJupyterNotebookを実行する
1. ノートブックインスタンスを終了する

# 全体プログラム
“`Python:smnb_localrun.py
import boto3
from boto3.session import Session
from time import sleep
from botocore.vendored import requests
from botocore.e

元記事を表示

Vantage アナリティクス・ライブラリ

[Teradata Vantage – Vantage Analytics Library](https://docs.teradata.com/r/Vantage-Analytics-Library-User-Guide/January-2022) [2022/7/29時点]の翻訳です。

> Vantageアナリティクスライブラリ シリーズのコンテンツです。

# Vantageアナリティクス・ライブラリ
データ変換、記述統計、仮説検定、クラスタリング、回帰、予測アルゴリズムなど、高度な関数の豊富なライブラリをJAVA外部プロシージャとして実装したもので、R、Python、SQLから使用することができます。
#### 主な特徴
– すべての Vantage リリース (Vantage 1.x 以上) の Vantage Advanced SQL Engine で動作します。
– Vantage のすべての導入オプション(オンプレミスおよびクラウド)に導入可能です。
– 外部ストアドプロシージャとして実装されており、追加のインフラがなく動作します。
– Vantageの並列処理エンジ

元記事を表示

reCaptcha v2.0を突破するための2captchaサービス (python版)

この投稿ではGoogle reCaptcha v2.0を解決するため、[2captcha](https://2captcha.com/?from=7633032)への自動接続をするコードを紹介します。今から少し前に、Googleはユーザー行動のreCaptcha(v2.0)を大幅に複雑にしました。このオンラインサービスは、それを解決する方法を提供します。

このサービスが使用する単純なアルゴリズムは次のとおりです。:

1. ターゲットサイトを開くクレデンシャル(recaptchaの「サイト キー」、サイトURL、オプション: プロキシ IP) は、利用者(クライアント) によってコピーされ、2captchaサービスに送信されます。シンプルなウェブ開発者ツールでそれらを見つけることができます。
2. 2captchaサービス側の作業者は提供されたクレデンシャルを使用して reCaptchaを突破します。
3. 10-30 秒で、g-recaptcha-responseトークンとして解答をリクエストします。
4. このg-recaptcha-responseトークンは、recaptcha

元記事を表示

シーザー暗号をpythonで実装

この投稿では、シーザー暗号について解説いたします。シーザー暗号と聞くとなんだか難しそうですが、実は非常に簡単な考え方の暗号なのです。

# シーザー暗号とは
### <シーザー暗号の名前の由来>
ローマの紀元前1世紀頃、ジュリアス・シーザー(ユリウス・カエサル)が利用していた暗号といわれています。
シーザー暗号は、平文の各文字をアルファベット順的に特定の量だけシフトしたものを暗号文とする暗号になります。

暗号化前の誰にでも読むことができるデータを平文と呼びます。
一方で、その平文を何らかの手法で暗号化したデータを暗号文と呼びます。

### <シーザー暗号の例>
・「**a**」は右に**5文字シフト**して「**f**」に変換する
・「**b**」は右に**3文字シフト**して「**e**」に変換する
・「**c**」は右に**23文字シフト**して「**z**」に変換する
このようにシフトすることでシーザー暗号となります。

### ・Pythonで実装
今回の平文は「**ugviumqakpcbism**」です。これだけ見ると訳の分からない文字列ですが、シーザー暗号で暗号

元記事を表示

車で子供がお歌を歌いやすいように歌詞カードを用意したくてスクレイピングしてみた(Python)

以下のページを参考にさせていただきました。
https://qiita.com/yuuuusuke1997/items/122ca7597c909e73aad5

# 悩んでいたこと
「ちいさなせかいの歌詞つくってー」
「アカシアの歌詞つくってー」
「トトロのうたもうたいたーい」
上記の要望に答えるため、日々歌詞カードを作っていた私はあるとき、一つのことに気づいた。

# 気づいたこと
私の歌詞カード作成は以下の手順で行われていたのだ。(そうだろうね・・・)
1. ブラウザを立ち上げ、歌詞名を検索する
2. 見つけた歌詞をコピーし、自作のドキュメントに貼り付ける
2. ついでに検索画面に表示された画像で、子供にあいそうな画像もドキュメントに貼り付ける
2. ある程度、歌詞カードのページが溜まってきたら、印刷して、子供に渡す

# 歌詞はスクレイピングしよう
わたしは歌詞はスクレイピングすることにした。

“`
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time

#曲ページ先頭アド

元記事を表示

OTHERカテゴリの最新記事