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

Python関連のことを調べてみた2020年11月01日
目次

Gray ScaleをPytorchで書いてみた

背景

PytorchでGlay Scaleしようと思ったら、Functionがなく、一度PILに変換し、Gray Scaleしてから、Torch Tensorに再変換していたので、計算コスト無駄だなって思ってた。
てかGray Scaleくらいサポートしてくれよ。。。

もしあったらゴメンナサイ

コード

ちなみにGray Scaleは色々と種類があるらしいので、自分の好きなパラメータを使えばいいと思います。

“`
def getGrayImage(self,rgbImg):
gray = 0.114*rgbImg[:,0,:,:] + 0.587*rgbImg[:,1,:,:] + 0.299*rgbImg[:,2,:,:]
gray = torch.unsqueeze(gray,1)
return gray
“`

結論

PytorchでGrayScaleのFunctionあったら教えてください!

参考文献

グレースケール画像のうんちく
ht

元記事を表示

屋内外の温度と湿度をダッシュボードで表示する

## 目的

温湿度計を使って屋内外の様子をダッシュボードで確認したい。

SwitchBotの温湿度計を購入してみても、いまいち使い切れていない感がありましたが、こちらの記事から気付きを得て制作に至りました。感謝:bow:
[家の中のセンサデータをRaspberryPiで取得しまくり、スーパーIoTハウスを実現](https://qiita.com/c60evaporator/items/283d0569eba58830f86e)

## 概要

ラズパイを使って処理する記事が多いのですが、今回はすでに稼働している自宅のx86_64サーバを使います。
センサーからの値の取得は、WonderLabs社が公開しているPythonプログラムを使用します。
https://github.com/OpenWonderLabs/python-host
取得値は、Google Apps Scriptを経由して、Googleスプレッドシートに記録します。これをデータソースにしてGoogleデータポータルで視覚化します。

以上の流れです。
![Untitled.png](https://qiita-

元記事を表示

KaggleのHouse Sales in King County, USAのデータセットを使って、機械学習を行い、APIサーバーにするまでの手順

##はじめに
KaggleのHouse Sales in King County, USAのデータセットを使って、XGboost機械学習で学習モデルを生成して、その学習モデルをFlaskでAPIサーバーにするというのをやりました。この機械学習のAPIサーバーは、主に4つの手順で行っています。最初にHouse Sailsのデータを把握するために、EDA(Explanatory Data Analysis)探索的データ解析を行って、データの状況を把握します。次に、機械学習で学習させるためのデータになるように前処理を行っています。その次に、機械学習で学習モデルを生成します。今回は、XGboostを使用しています。最後に、FlasでAPIサーバーを実装していきます。

## このプログラムを実行するのに必要な環境
Anaconda、XGBoost、joblib、Flask、flask-corsなどのライブラリがインストールされている。

## この機械学習によるAPIサーバーの実装は以下の4つの処理によって行っています。

– House Sailsのデータを把握する(EDA)
– データセッ

元記事を表示

pyenvをmacにインストール

#pyenvのインストール(Mac)

pyenvはpythonの複数のバージョンを使い分けるツールです。pyenvを使ってpythonをインストールしておくと後々便利だと思います。

pyenvはPythonの複数のバージョンを使い分けるツールです。pythonを使う場合はまずはpyenvをインストールしておくと後々便利です。

##1.Homebrewのインストール
下記のコマンドをコピーしてターミナルに貼り付けEnter

“`
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
“`

##2.Homebrewでpyenvをインストール
ターミナルで下記のコマンドを実行

“`
brew install pyenv
“`

##3.パスを通す(OSがCatalina以降)
ターミナルで下記のコマンドを1行ずつコピーして実行

“`
echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.

元記事を表示

OpenJtalk で日本語の発話 (テキストファイルの読み上げ)

こちらのプログラムを改造して、テキストファイルを読み上げるようにしました。
[OpenJtalk で日本語の発話](https://qiita.com/ekzemplaro/items/8b6169de6ea8510edecd)

プログラム

“`py:kusamakura01.py
#! /usr/bin/python
#
# kusamakura01.py
#
# Nov/01/2020
#
# ——————————————————————–
import subprocess
import sys
# ——————————————————————–
def jtalk_proc(tt):
open_jtalk=[‘open_jtalk’]
mech=[‘-x’,’/var/lib/mecab/dic/open-jtalk/naist-jdic’]
htsvoice=[‘-m’,’/u

元記事を表示

高位合成言語アセンブラを作る。 その6

#概要

高位合成言語アセンブラを作る。
pythonで、真理値表から論理式、求めてみた。

#サンプルコード

“`
import sympy as sym

#xor
print (sym.POSform([‘a’, ‘b’], [[1, 0], [0, 1]]))
#or
print (sym.POSform([‘a’, ‘b’], [[1, 1], [0, 1], [1, 0]]))
#and
print (sym.POSform([‘a’, ‘b’], [[1, 1]]))
#nand
print (sym.POSform([‘a’, ‘b’], [[0, 0], [0, 1], [1, 0]]))
#nor
print (sym.POSform([‘a’, ‘b’], [[0, 0]]))

print (sym.POSform([‘a’, ‘b’, ‘c’], [[1, 1, 1]]))
“`

#実行結果

“`
(a | b) & (~a | ~b)
a | b
a & b
~a | ~b
~a & ~b
a & b & c

“`

以上。

元記事を表示

Pythonのオブジェクト指向プログラミングを完全理解

# オブジェクト指向
## 1. オブジェクト指向の起源
 2003年チューリング賞の受賞者[アラン・ケイ](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%A9%E3%83%B3%E3%83%BB%E3%82%B1%E3%82%A4)さんはよく[オブジェクト指向プログラミング](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)の父と称されます。ご本人も憚ることなく、幾度、[公の場](https://www.youtube.com/watch?v=oKg1hTOQXoY&t=634s&ab_channel=JeffGonis)で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は[「S

元記事を表示

Python DjangoでHerokuにデプロイする

#はじめに
PythonのWebアプリフレームワークDjangoを使ってherokuへのデプロイまでをやってみる。

#初期設定
##1.Python3系のインストールを確認する
バージョンを確認する
`python –version`

pythonがどこにおいてあるか確認する
`which python`

※macには2系がデフォルトで搭載されていますが2系は廃止されるので3系をインストールしましょう
※pythonインストールがまだだったら以下の記事などを参考にインストールしてみましょう
https://qiita.com/ms-rock/items/72b8f1abc661c539bb09

##2.Djangoのインストール
[Djangoの公式ページ](https://docs.djangoproject.com/ja/3.1/intro/install/)で最新版を確認してインストールできるが、
[django-tool-belt](https://pypi.org/project/django-toolbelt/)をインストールすればデプロイに必要なものも含めて一括

元記事を表示

【初心者向け】Anaconda環境にパッケージをインストール(Janome)

はじめに

今回は,Janomeという形態素解析用のパッケージを例に,Anaconda環境にパッケージをインストールする方法についてお話しします.

Janome以外のパッケージをインストールする場合も,基本的な手順は同じですので,”Janome”の部分を読みかえてください.

また,本記事ではWindowsの場合のインストール方法を紹介していますが,Macの場合もほとんど同じなので,是非参考にしてください.

1. Anacondaのインストール

[Anaconda](https://www.anaconda.com/products/individual)は簡単にデータサイエンス向けのPython環境を構築できるプラットフォームです.
ここでは,Anacondaのインストール方法を紹介します…と言いたいところですが,[こちらのサイト](https://www.python.jp/install/anaconda/windows/install.html “Windows版Anacondaのインストール”)で非常に分かりやすく解説されているので,省

元記事を表示

PythonでできることをQiita記事から考察する

#はじめに

プログラミング学習を続けていると、チュートリアルを終えた後に何をすれば分からなくなることがないだろうか(私はあります)
言語の構文は理解できたのだけど、その次に何をすればよいか分からない。そんな状況が、ビギナーの方にはあるんじゃないだろうかと思う。

ということで、今回はQiitaの上位記事やタグを取得・分析することで次に何を作ればいいかのアタリをつけたい。

#やったこと

  1. 特定のワードからQiitaの上位記事のタイトルを取得
  2. 特定のワードに関連するタグを取得・分析

要は上位記事を参考に自分が作るものの参考にするのと、どんなジャンルが多いかをタグから考察してみました。
※基本的にスクレイピングをするだけですが

#環境
Python 3.9.0

##1. 特定のワードからQiitaの上位記事のタイトルを取得

例えば、『Python』で検索した時の上位記事を10ページ分取得してみた。

“`python:qiita_title.py

import requests
from bs4 import Beautif

元記事を表示

YouTube LiveのチャットをDeepL翻訳してリアルタイム表示する

#動作イメージ
DeepL翻訳してリアルタイムで表示します。(右側のウィンドウ)
![ダウンロード2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/798027/cc50c80b-1b08-c435-f176-8f4429ff4c27.gif)

#きっかけ
1. YouTube Liveの外国語チャットを翻訳したい
2. Chrome上で「右クリック→日本語に翻訳」するとGoogle翻訳できるけど精度がイマイチ
3. DeepL翻訳はGoogle翻訳より精度が高いらしい(下記グラフ参照)
4. チャットは時々刻々と流れてくるので、いちいち[DeepL翻訳サイト](https://www.deepl.com/ja/translator)にコピペするのは面倒

以上のことから、YouTube LiveのチャットをDeepL翻訳してリアルタイム表示するプログラムを作成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazona

元記事を表示

python の 実数の除算(/)と整数除算(//)

#問題

[問題A](https://atcoder.jp/contests/arc107/tasks/arc107_a)で入力が

“`
1000000000 987654321 123456789
“`
と入力するとき

“`
A, B, C = map(int, input().split())
ans = (A * (A + 1) * B * (B + 1) * C * (C + 1) / 8) % 998244353
print(int(ans))
“`
のように回答したがWAが出てしまった。
他の人のAC解答を見てみると

“`
A, B, C = map(int, input().split())
ans = (A * (A + 1) * B * (B + 1) * C * (C + 1) // 8) % 998244353
print(int(ans))
“`
のように/か//の違いしかなかった。

# 解決

“`
print(type(A * (A + 1) * B * (B + 1) * C * (C + 1)/8))
print(A * (A

元記事を表示

Python + staticmap で OpenStreetMap や地理院地図の画像を取得する

## 概要

– Python 用ライブラリの [staticmap](https://github.com/komoot/staticmap) を使って OpenStreetMap や地理院地図の画像を取得する

## 今回の環境

– macOS Catalina + Python 3.9.0 + staticmap 0.5.4

## staticmap のインストール

staticmap パッケージをインストールする。

“`
$ pip install staticmap
“`

依存ライブラリとして Pillow と requests もインストールされる。

## staticmap デフォルトの地図画像を取得する

ソースコード。

“`py
from staticmap import StaticMap

# 地図オブジェクトを生成
# 画像の横幅(ピクセル)と画像の縦幅(ピクセル)を指定
map = StaticMap(800, 600)

# 地図を描画した Pillow の PIL.Image オブジェクトを取得
# ズームレベルと経度・緯度を指定
im

元記事を表示

【最高のブラウザ】世界が変わる5秒前。Braveブラウザでインターネットの仕組みを変えよう。

## はじめに

~~これはただのプラグインではありません。Louis Armstrong によって歌われた最も有名な二つの単語、Hello, Dolly に要約された同一世代のすべての人々の希望と情熱を象徴するものです。~~
__これはただの記事ではありません。Robert E. Kahnによって歌われた開かれたインターネットへのすべての人々の希望と情熱を象徴するものです。__

## 概要

この記事ではBraveブラウザについて説明します。Braveブラウザを使えば広告なしでサイトを閲覧できたり、サイトを見るとお金がもらえたりします。また、Adsenseに代わりWebサイトやTwitterを収益化できるブラウザでもあります。しかしそれだけではなく
__1. (Googleの無料サービスに定義された)インターネットの仕組みを変える__
__2. コンテンツ製作者に適切に報いる__
ことを目的とする従来とは全く異なるパラダイムから生まれたブラウザです(製作者はJavaScriptの生みの親で元MozillaCEOのアイク氏です)。
そこで、クリエータとして収益化する方法とWebサイ

元記事を表示

Numpyの型ヒント備忘録(NDArray)

`Numpy` の型ヒント・型チェックについて、ちょっとハマったので備忘録として残します

今回使っているのは `nptyping` という numpy 用の型付けのためのライブラリです。リポジトリ: [GitHub – ramonhagenaars/nptyping](https://github.com/ramonhagenaars/nptyping)

# ベクトルのとき
下の二つは要素が `int` でなくても `True` となります。**(`Any` は標準ライブラリの `typing` からインポートします)**

“`python
vec = np.array([1, 2, 3], int)
isinstance(vec, NDArray[3, int]) # True
isinstance(vec, NDArray[(3,), int]) # True
isinstance(vec, NDArray[(3, …), int]) # True
isinstance(vec, NDArray[(3,), Any]) # True
isinstance(vec, ND

元記事を表示

全国の都道府県知事の年齢と当選回数を調べる

[全国知事会](http://www.nga.gr.jp/index.html)の[知事ファイル](http://www.nga.gr.jp/app/chijifile/)から現職の知事をスクレイピング

“`python
import datetime
import re

import pandas as pd
import matplotlib.pyplot as plt

def wareki2date(s):

m = re.search(“(昭和|平成|令和)([ 0-9元]{1,2})年( [0-9]{1,2})月([ 0-9]{1,2})日”, s)

if m:

year, month, day = [1 if i == “元” else int(i.strip()) for i in m.group(2, 3, 4)]

if m.group(1) == “昭和”:
year += 1925
elif m.group(1) == “平成”:
yea

元記事を表示

Lobeで学習したモデルをPythonで利用する方法

Lobeは、マイクロソフトが公開した機械学習のmodelが簡単に構築できるツールです。
下記の記事ではその使い方を説明しました。
[マイクロソフトが公開した機械学習モデルの訓練を容易にできる「Lobe」を試してみた。](https://qiita.com/tkinjo1/items/5cfe561b8765add0b7d0)

本記事では、Lobeで学習したmodelをエクスポートしてPythonから利用するまでの手順を書いていきたいと思います。

## 学習したmodelをエクスポートする

[File]->[Export]を選択します。
![スクリーンショット 2020-10-31 20.30.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19516/bee0c9e8-4acd-51c5-ad7e-735f7e3f63ce.png)

今回はTensorFlowを使用するのでそちらを選択し保存先を指定します。
![スクリーンショット 2020-10-31 20.35.42.png](https

元記事を表示

PythonでPTAM

こんにちは
今回はpythonを使ってPTAMを実装した話をしようと思います。
まずは実物を