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

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

Apache Airflow 2.0を使ってみる

## はじめに
Livesense Advent Calendar 6日目を担当します @take-m です。普段はリブセンスのデータ分析基盤の開発、運用を担当しています。

今回はAirflow 2.0がリリース間際ということで、1系とどこが変わったのか、また実際にインストールする手順を紹介したいと思います。

なお、本稿執筆時点での最新リリースは2.0.0b3ですが、予定ではまもなくrc1がリリース予定で、ここで書かれた内容と実際の動作とは異なる場合があることをご了承ください。

## Apache Airflowとは
Airflowはデータ処理フローを管理するオープンソースのツールです。2014年にAirbnb社のMaxime Beauchemin(現在は[preset社](https://preset.io/)CEO)が開発し、その後2016年にApacheソフトウェア財団のサポートを受け、現在はApache Airflowという正式名称になっています。

現在ではGCPの[Cloud Composer](https://cloud.google.com/composer/)や

元記事を表示

Python基本文法note(2)

#初めに
pythonを勉強中のメモです
色々今後追加していきます

#モジュールとパッケージ
##コマンドライン引数

~~~python
~~~

##Import文とAS
モジュールからImportするのが良い

~~~python
#書き方1
import lesson_package.utils

r = lesson_package.utils.say_twice(‘hello’)
print(r)
#書き方2
from lesson_package import utils

r = utils.say_twice(‘hello’)
print(r)
#書き方3(これはわかりづらいのであまり推奨されていない)
from lesson_package.utils import say_twice

r = say_twice(‘hello’)
print(r)

#asも使えるが推奨されていない
from lesson_package import utils as U

~~~

##絶対パスと相対パスのImport

~~~python
#絶対パス
from lesso

元記事を表示

irisのdatasetsを使って教師あり学習をかじる

機械学習するにもデータがない…という場合はScikit-learnのデータセットを使いましょう。
Scikit-learnには多くのデータサンプルが付いています。その中でも有名度で言うとベスト3(完全な私見)に入るアヤメのデータを用います。

今回使用する[コード](https://github.com/SotaChambers/iris_training/tree/main)の全体はgithubにあげています。

#概要
私はお花の専門家ではないので詳しい事はいえませんが、アヤメという花があります。ググればいくらでも出てきます。
この花の特徴量として、萼片(sepal)の長さと幅・花弁(petal)の長さと幅を考えます。これらを説明変数にして、アヤメの種類(setosa, versicolor, virginica)を見分けるというものです。
見分けるわけですから、分類するのです。今回はサポートベクターマシーン(SVM)を使って分類します。

#データの読み込み
まずはScikit-learnのデータセットをインポートします。このデータを配列のまま進める場合とデータフレームに変換

元記事を表示

【初心者が作る】競技プログラミングの備忘録

# この記事の目的
 競技プログラミングを始めてみました。軽く触って見た感じはすごく楽しいです。しかし、段々とストレスに感じることが出てきました。それは、一度調べたことを調べ直すことです。
 いちいち検索し直すのもめんどくさいので、リスト化してみようと思います。言語はPythonです
 ついでに、記事を発信する練習も兼ねています。
# 標準入力
##### 1行内に書かれた一つの数字を取得する
`return int(sys.stdin.readline().rstrip())`

##### 1行内に書かれ、空白で区切られた複数の数字を取得する(配列にする)
`return list(map(int,sys.stdin.readline().rstrip().split()))`

##### 1行内に書かれた一つの文字列を取得する
`return sys.stdin.readline().rstrip()`

##### 1行内に書かれ、空白で区切られた複数の文字列を取得する(配列にする)
`return list(sys.stdin.readline().rstrip().spl

元記事を表示

NameDividerを触媒にパーフェクト湯婆婆を創造する

本記事は[株式会社Works Human Intelligence](https://www.works-hi.co.jp/)のアドベントカレンダー、[「Develop fun!」を体現する Works Human Intelligence #2](https://qiita.com/advent-calendar/2020/whi-2)の6日目になります。
弊社ではアドベントカレンダーを2枚実施しておりますので、[1枚目](https://qiita.com/advent-calendar/2020/whi)もぜひご覧ください!

## はじめに
[伝説のJa婆婆](https://qiita.com/Nemesis/items/c7192a7c510788d2cba2)から始まった湯婆婆の奔流は、たちまちノリの良いQiitter達の心を鷲掴みにし、[一大ムーブメントを巻き起こす](https://qiita.com/tags/%e6%b9%af%e5%a9%86%e5%a9%86)こととなりました。しまいには[アドベントカレンダー](https://qiita.com/advent

元記事を表示

超解像技術-SRGAN-実装してみた(Tensorflow 2.0) 推論フェーズ編

###概要

[前回](https://qiita.com/hima_zin331/items/fcac94f39493642c145e)の続きで、SRGANの推論フェーズ編になります。

###環境
**-Software-**
Windows 10 Home
Anaconda3 64-bit(Python3.7)
VSCode
**-Library-**
Tensorflow 2.2.0
opencv-python 4.1.2.30
**-Hardware-**
CPU: Intel core i9 9900K
GPU: NVIDIA GeForce RTX2080ti
RAM: 16GB 3200MHz

###プログラム
Githubに上げておきます。
https://github.com/himazin331/Super-resolution-GAN
リポジトリには訓練フェーズ、推論フェーズ、データセット(General-100)が含まれています。

###ソースコード
ソースコードだけ載せておきます。

“`python:srgan_pre.py
import argpa

元記事を表示

FaceNetの顔認証をお手軽に試す

# はじめに
この記事は[顔学2020アドベントカレンダー](https://qiita.com/advent-calendar/2020/facial_study)の5日目の記事です.
今日はFaceNetを手軽に試せるようにラップしてくれているPythonのライブラリであるkeras-facenetの使い方をまとめようと思います.顔学会には工学に詳しくない方も多いので,なるべく込み入った内容には触れずに,ただコードを実行すれば再現できるように進めていくつもりです.

# FaceNetとは
[FaceNet](https://github.com/davidsandberg/facenet)はGoogleが開発した顔認証のための顔認識モデルです.Inception ResNet V1というモデルの出力にL2ノルムを取った結果を顔の特徴量ベクトルと考えるモデルです.深層学習による顔空間の構築とも言えるかもしれません.

顔認証の流れとしては,

– FaceNetに顔画像を入力して顔ベクトルを取得する
– 顔ベクトル同士のユークリッド距離を計算する
– 距離が閾値以下なら同一人物とみ

元記事を表示

Python学習 基礎編 ~変数とは?~

こちらはPython学習の備忘録です。
プログラミング初心者や他の言語にも興味、関心をお持ちの方の参考になれば幸いです。
* * *

###変数とは?

変数とは、データ(値)を入れておく箱のようなもの。
この箱(変数)に、名前(変数名)をつけることで、その名前を用いて変数に値を入れることや変数から値を取り出すことができる。

実際のプログラムの中には多くの値が登場する。
プログラムを書く時は、それらの値を間違えないように、そして値の変更に対応しやすいようにすることが求められる。
それを助けるための1つの仕組みが変数である。
###変数を使うメリットとは?

– **同じ要素を繰り返し使える**

似たコードを何度も書くのは面倒ですが、変数を使えば同じ値を繰り返し使えて、楽にコードを書くことができる。

– **変更に対応しやすい**

後々、値の変更が必要になった場合、変数を用いていれば、代入する値を変更するだけですべての変更に対応できる。

– **何の要素かわかりやすい**

データに名前をつけることで、扱っているデータの中身が何を表しているかが明確になる。その結果、コードがよ

元記事を表示

機械学習における音声データの水増し

データの水増し画像ばっかり

# 音声データの水増し方法について考えよう
出来そうなこと

– 音量上げ/下げ
– 音声の引き延ばし/縮め
– ノイズの付加
– 時間シフト
– 音の高さ(ピッチ)の変更
– 残響付加

Kaggleの[これ](https://www.kaggle.com/CVxTz/audio-data-augmentation)とか見てると前半の4つくらいはやってるけど、むしろ音声認識みたいな室内で使うような音声モデルを扱いたいなら後半二つこそやるべきだと思う。前半のやつについてはそのままコードを借ります。

**データ読み込み**

“`wav.py
import librosa
filename = “unko.wav”
data, _ = librosa.load(filename,sr=16000)
“`
## 1.音量を変える
もうこれでいいと思う。音量が1.2倍になる

“`sample.py
data_vol = data * 1.2
“`

ランダムに音量を変えたければこんな感じで良さそう

“`sample.py
import rando

元記事を表示

paho-mqttを使ってAWS IoTcoreへpublish

#paho-mqttを使ってAWS IoTcoreと通信
ラズパイをエッジデバイスとしたIoTシステムを作成するためのデモプログラム(publish)

####※paho-mqttを使うとCloud9,EC2からの接続では環境によってうまくいかないことがあったのでAWSIoTSDKを使ったほうが良いかも?

######***の部分は自分の環境に合わせて変更する

“`python:publish.py

import paho.mqtt.client as mqtt
import ssl
import json
import time

endpoint = “****.amazonaws.com” #AWS IoT coreのエンドポイント
port = *** #AWSのMQTTポート デフォルトは8883?
topic = “sample/topic” #トピック

rootCA = “***.pem” #ルート証明書のパス
cert = “***.pem.crt” #デバイス証明書のパス
key = “

元記事を表示

『ゼロから作る Deep Learning』を読んで Rust で実装した話

本記事は [Rust Advent Calendar 2020](https://qiita.com/advent-calendar/2020/rust) の6日目の記事です。

## 変更履歴
* 2020/12/05 初版作成
* 2020/12/06 [namn1125](https://qiita.com/namn1125)様のコメントを受けて、比較結果を `cargo run –release` したものに修正

# 本記事のまとめ
* [『ゼロから作るDeep Learning―Pythonで学ぶディープラーニングの理論と実装』](https://www.oreilly.co.jp/books/9784873117584/)(以下、参考書と呼ぶことにします)を読み、5 章までの内容を [Rust](https://www.rust-lang.org/) で実装してみました。
* [MNIST](http://yann.lecun.com/exdb/mnist/) の手書き文字を認識する三層パーセプトロンモデルを実装する上で、筆者(私)が採用した方針と、ndarray を使

元記事を表示

pythonでPCの壁紙をジブリにする

今回はpythonを用いてPC(Windows)の壁紙をジブリにしてみたいと思います。スクレイピングでジブリ画像を収集し、5秒ごとにランダムなジブリ画像を壁紙に設定します。

#素材集め
selenium等を用いてスクレイピングします。ジブリの画像は[こちら](https://www.ghibli.jp/info/013381/)にあるものを使用します。

“`python
from selenium import webdriver
import requests
import time
import os

driver = webdriver.Chrome(‘d:/python/chromedriver.exe’) #chromedriverのパスを入力してください
driver.get(‘https://www.ghibli.jp/info/013381/’)
title_link_list = driver.find_elements_by_xpath(‘//a[@class=”panelarea”]’)

if not os.path.exists(‘ジブリ’):

元記事を表示

東京都の新型コロナウイルスに関連した患者の発生についての別紙PDFから表を抽出しJSONに変換

# PDF

![02_00-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/36151/ed6befbf-d721-8349-cd8d-3f90e60743f8.png)

# プログラム
“`python
import json
import pathlib
import re

import pandas as pd
import pdfplumber
import requests

def get_pdf_file(url, dir=”.”):

r = requests.get(url)
r.raise_for_status()

p = pathlib.Path(dir, pathlib.PurePath(url).name)
p.parent.mkdir(parents=True, exist_ok=True)

with p.open(mode=”wb”) as fw:
fw.write(r.content)
retu

元記事を表示

embeddable pythonを使うとき、ドラッグアンドドロップされたファイルパスを渡す

#ものすごい単純だった
蛇口です。
あまりパソコンが得意ではないので、徐々に自分なりに課題を見つけていきたいと考えています。
普段は、エンジニアとは全く関係のない仕事をしています。

今回は、ショートカット伝いにファイルパスを渡していくだけの記事でした。
そんなん当たり前じゃん、と言われるような内容でした。

##渡していく前に
[embeddable](https://qiita.com/mm_sys/items/1fd3a50a930dac3db299)はWindows限定ではありますが、実行ファイルのような使い方ができて、かつ、pyinstallerで作ったexeファイルよりも、かなり速い立ち上がりを見せてくれます。

実行環境を渡すという特性上からか、大量のファイルを渡してしまうことになるので、そのまま使わせるのはなんだか悪いような気がしてきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311431/d155ad48-a3c8-70c8-c041-b5f952250f3

元記事を表示

DjangoでHTMLを読み込む方法【Python】

この記事では、
DjangoでHTMLを読み込む方法
を書いていきます。

## Djangoとは
Django(ジャンゴ)は、Pythonで実装されたWebアプリケーションフレームワーク。MVCデザインパターンに緩やかに従う。
Django – Wikipedia

## 実行環境
– MacOS
– python 3.7.5

## やり方
まずは、**Djangoをインストール**します。

“`terminal
$ pip install django
“`

次に、**ターミナルで好きなファイルに移動**します。
例えばデスクトップにあるprojectというファイルだったら、

“`terminal
$ cd desktop/project
“`

のように、cd の後にPathを書きます。

移動したら次に、**プロジェクトを作成**します。
myblogのところには、自分の好きな名前を入れて構いません。

“`terminal
$ django-admin s

元記事を表示

Pythonで東京の1日の新規感染者数を予想してみた!

今回は、Pythonを使って東京の1日の新規感染者数を予想してみました。

初めての機械学習ということで、シンプルなことしかできませんが、温かい目で見ていただけたら幸いです。

1. NumPyやPandasなどの外部ライブラリをインポート!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933659/29ac568c-2219-a3fb-5242-0a28dc1c1b14.png)

NumPy, Pandas, Matplotlibをそれぞれインポートします。
import matplotlib.dates as mdatesは、後にグラフを作る際に日にちを加えるためのコードです。

2. データを集める
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933659/9d2204d8-488e-5b86-06d5-cda25324f4a4.png)

都内の最新感染動向というホームページ

元記事を表示

Pythonで長い会議を見える化〜話者ダイアリゼーションの動向〜

Pythonで長い会議を見える化シリーズ([第1回](https://qiita.com/toast-uz/items/2f9fc5a436bd1d9e97a5)、[第2回](https://qiita.com/toast-uz/items/1f5a559ec67b443167c4)、[第3回](https://qiita.com/toast-uz/items/997ff7769235529d2acf))は、むやみやたらにやっているように見えますが、・・・実際やっていましたが、だんだんと関連知識を仕入れて来ましたので、ここでまとめておきます。

#1. 君の名は「話者ダイアリゼーション」

まず、本領域は「**話者ダイアリゼーション**」と呼ぶ技術領域のようです。英語では”Speaker diarisation (or diarization)”です。diarisatinには残念ながら日本語訳は無く、ダイアリゼーションと、まんま読みします。英英辞典だと、”In voice recognition, the process of partitioning an input audio s

元記事を表示

RemoteMonitorで訓練経過をお手軽にSlackなどに送信【コード10行未満】

[TensorFlowアドベントカレンダー2020](https://qiita.com/advent-calendar/2020/tensorflow)の4日目の記事です(参加したの12/5です)。アドベントカレンダー初参加です。

この記事では何番煎じだかわからない、TensorFlowから訓練経過をSlackなどに送信する方法を書いていきます。ただし、**requestsなどの送信処理を自分で書かなくてよいのがポイント**です。10行未満できます。

## 結論
事前準備としてSlackの「[Incoming Webhooks](https://slack.com/intl/ja-jp/help/articles/115005265063-Slack-%E3%81%A7%E3%81%AE-Incoming-Webhook-%E3%81%AE%E5%88%A9%E7%94%A8)」を用意します。

[tf.keras.callbacks.RemoteMonitor](https://www.tensorflow.org/api_docs/python/tf/keras/callba

元記事を表示

アニメ・イラストの顔を集めたデータセットを作りました

![データセットの内容](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506989/faa830d2-5c07-0ad9-17b6-77edda11443f.png)

ちょっと前までGANにハマっていて、その時に作った遺産です。
[kaggleのページ](https://www.kaggle.com/reitanaka/alignedanimefaces)に公開しました。
もし著作権的にアウトであれば、削除します。

内容は[Safebooru](https://safebooru.org/)からスクレイピングし、顔部分をトリミングした約500,000枚の画像です。
画像のサイズは $256 \times 256$ 以上で、揃えていません(できるだけ高解像度にしてあります)。

他のデータセットと違う特徴として、目の位置を検出することで、顔の位置や角度を揃えてあります。
このことでGANなどで学習を行うとき、安定しやすくなっているのではないかと思います。
また、誤検出などで生じた、顔以外の画像、位置のずれた画

元記事を表示

openpyxlでグラフに設定できる模様一覧

[前回記事](https://qiita.com/masuda-s/items/2f88c8bc94bc3196b1e9)でPythonでopenpyxlを使用して設定できるカラーについて一覧を作成しました。

今回はグラフに設定できる模様について一覧を作成しました。

## diagCross
![diagCross.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76958/fa8c8fac-16c5-a259-20c9-fa85a357b159.png)

## dashHorz
![dashHorz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/76958/01e180d7-bc6b-547c-67fa-d00f6f6198f9.png)

## ltHorz
![ltHorz.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7695

元記事を表示

OTHERカテゴリの最新記事