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

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

Pytorchによる航空画像の建物セグメンテーションの作成方法.

#1. 概要
以前,航空機や衛星画像の建物のセグメンテーションをkerasで実行しました.

[衛星画像のSegmentation(セグメンテーション)により建物地図を作成する.](https://qiita.com/nigo1973/items/78dea24fd997674ca8b9)

本記事では,流行っているPytorchを用いて,前回と同じ航空機の撮像画像から建物のセグメンテーションを行うモデルを構築します.例えば,予測モデルの出力は以下のようになりました.

![Screenshot from 2020-07-23 20-50-52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/3c9013ce-9101-8f1e-6bb1-60c11fe8abca.png)

画像の取得,前処理,PytorchによるDataの準備やモデルの構築,作成したモデルの検証など,Pytorchやセグメンテーションが初めての方を対象としたため,かなり細かく紹介しています.そのため,長文となりましたので

元記事を表示

LambdaとDjangoの相性ってどうなの??

# 忙しい人へ
結論とまとめを最初にのせときます

## 結論
Djangoのようなフルスタックフレームワークではあまり良いとは言えない
フルスタックフレームワーク使うならECSを使った方が良いらしい

## まとめ
> Lambdaのコールドスタートで時間かかるのでは?

結構かかります

> DjangoのプロジェクトをLambdaにアップロードしたら、Lambdaのアップロードサイズ制限に引っかかるのでは?

かかる可能性はあります
ただよほど入れなければ大丈夫なはず

> REST APIを作る時に、DjangoのルーティングとAPI Gatewayの組み合わせって相性悪くね?

実害はないと思うけど悪いと思います

> Django使うってことはサーバーレスなのにサーバー立ち上げるってこと?

その通りです

# 前置き
この記事はあくまでも私見です
これが絶対正しいということではないのでご了承ください

# 前提
zappaというデプロイツールを用いての検証

# 本題
LambdaとDjangoの組み合わせにした時の疑問点がいくつかあった
その疑問点をひとつづ

元記事を表示

【高等学校学習指導要領 情報Ⅰ】教員研修用教材:MeCabによる形態素解析とWordCloudの作り方(python)

# はじめに
今回は文部科学省のページで公開されている情報Ⅰの教員研修用教材の「質的データの分析」についてみていきたいと思います。
ここでは、MeCabによる形態素解析とWordCloudをRで実装する例が書かれています。
今回はその内容をpythonに置き換えていきたいと思います。

# 教材
[高等学校情報科「情報Ⅰ」教員研修用教材(本編):文部科学省](https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1416756.htm “高等学校情報科「情報Ⅰ」教員研修用教材(本編):文部科学省”)
[第4章情報通信ネットワークとデータの活用・巻末 (PDF:10284KB) PDF](https://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2019/09/24/1416758_006_1.pdf ”
第4章情報通信ネットワークとデータの活用・巻末 (PDF:10284KB) “)

#環境
– ipython
– [Co

元記事を表示

Python dir関数でmoduleが定義している名前を列挙する

Pythonのドキュメントを眺めていたら開発時に使えそうなdir関数を見つけたのでログとして残しておきます。
[6. Modules — Python 3.8.5 documentation](https://docs.python.org/3.8/tutorial/modules.html#the-dir-function)

## 引数あり

下記のコマンドでsys moduleが定義している名前の一覧を列挙できます。

“`python
import sys
dir(sys)
[‘__displayhook__’, ‘__doc__’, ‘__excepthook__’, ‘__loader__’, ‘__name__’,
‘__package__’, ‘__stderr__’, ‘__stdin__’, ‘__stdout__’,
‘_clear_type_cache’, ‘_current_frames’, ‘_debugmallocstats’, ‘_getframe’,
‘_home’, ‘_mercurial’, ‘_xoptions’, ‘abiflags’,

元記事を表示

ポアソン分布と指数分布を用いてpythonで擬似的な時系列データを生成する方法

# ポアソン分布と指数分布の両方を紹介する理由

ここでは,

– ポアソン分布を用いて時系列データを等時間間隔を生成する方法
– 指数分布でイベントリストを生成する方法

の両方を紹介する.どちらもポアソン過程(レアイベントで,定常で,過去に依存しない)を,発生確率で見たのがポアソン分布で,到来時刻で見たのが指数分布となる.ポアソンで生成する方法は,等間隔な時間でサンプルした場合によく使われる.指数分布は,光子が一つ一つ到来した時刻を生成する(ここではイベントリストと呼ぶ)場合に使われる.どちらも兄弟のような関係なので,一緒に覚えておいた方がよいでしょう.

説明不要で,ソースコードだけで十分,という方は,

– [この記事の google colab のページ](https://colab.research.google.com/drive/18GE0y45FHlO3t4yPUct8PHus0lR6zhd0#scrollTo=WcvXDRrAZmEe)

をご覧ください.

## 関連するページ

– [パワースペクトルに位相ランダムを仮定して時系列データを生成する方法](http

元記事を表示

はてなブックマークのリンク生存確認スクリプト

# 目的

自分のはてなブックマークに貯めこんだリンクについて、デッドリンクがあれば知りたいなーと思い、Python で書いてみました。

特定のユーザー (想定は自分) のはてなブックマークを一個一個アクセスし、レスポンスコード `200` が得られない場合はタイトルを出力しています。

はてなブックマークで公開されている [REST API 系](http://developer.hatena.ne.jp/ja/documents/bookmark/)ではユーザーのブックマーク一覧を取得できないようでしたので、[RSS](http://developer.hatena.ne.jp/ja/documents/bookmark/misc/favorite_feed) から取得しています。

# コード

“`Python
import feedparser
import requests

currentPage = 1
USERNAME = “<はてなブックマークのユーザー名>”

URL = “https://b.hatena.ne.jp/{user}/bookmark.rss?

元記事を表示

人物写真から3Dデータを作成する on GCP

# 概要

colabで公開されている[PIFuHD Demo](https://colab.research.google.com/drive/11z58bl3meSzo6kFqkahMa35G5jmh2Wgt)をAI PlatformのJupyterLabで実行してみました。
今回実行するコードは[GitHub](https://github.com/kurihiroi/pifuhd-for-ai-platform)に入れてあります。

結果写真

# 経緯

[colabのdemo](https://colab.research.google.com/drive/11z58bl3meSzo6kFqkahMa35G5jmh2Wgt)を実行して遊んでいたところ、colabのコメントに「解像度を上げるには自分のマシ

元記事を表示

同一リージョンS3バケット間で大きなサイズのファイルをコピーする

# 概要
* 東京リージョンのs3バケットにあるサイズの大きなファイルを、リージョン内の別のバケットに効率よくコピーする方法を検討した。

# 課題
* 対象ファイルは、4Kの動画ファイル(.MOVまたは.MXF)でサイズは 大きいものだと数ギガから数十ギガバイトである。このサイズだと、Multipart Uploadの利用が前提である。
* 時間と費用を最小限にしたい。

# 仮説
* boto3 s3 clientに、copyという関数が用意されていて、

> This is a managed transfer which will perform a multipart copy in multiple threads if necessary.

と記載されいるので、これを使えばよさそうである。しかし、The transfer configuration に何を設定すればよいのかわからない。
参考 : https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Cl

元記事を表示

Twitter APIを触ってみたくなったら最初に見る記事

# はじめに

この記事ではプログラミングの初心者が、Twitter APIの申請を行いPythonでツイートを取得するまでを記録します。
Twitter APIは申請が必要なため、2020年7月時点の申請にかかる時間の参考としてもお使いください。

**結論、私の場合は24時間以内に受理されました。**

金曜の夜に申請して、土曜の午後には使うことができました。
途中、メールでTwitter社とのやりとりが発生してしまったため、レアケースかもしれません。

# Twitter APIの申請方法
[他の記事](https://qiita.com/kngsym2018/items/2524d21455aac111cdee)でも詳しく紹介されているので、こちらでは簡潔に2020年7月時点の情報をまとめます。

## Developerサイトでログイン
[Developer](https://developer.twitter.com/en)サイトにアクセスします。残念ながら英語を読み解く必要があります。

スクリーンショット 2020-07-22</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Python</div>
<div class='tag-cloud-link'>api</div>
<div class='tag-cloud-link'>TwitterAPI</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/Mikenerian/items/d8c268bc3697b97fa32a'>元記事を表示</a></div>
<h3 id=DeepRunning ~Level4.1~

#Level4.機械学習講座(理論と実践)
##・学習の目的
  (1)機械学習の基本的な手法を理解し実装する。
   ◇線形回帰
   ◇ロジスティック回帰
   ◇主成分分析
   ◇K平均法など
  (2)機械学習モデリングの流れを理解する。

##・機械学習モデリングプロセス(プロセスは深層学習でも同じ)
  (1)問題設定            : どのような課題を機械学習に解決させるか
  (2)データ選定           : どのようなデータを使うか
  (3)データの前処理         : モデルに学習させられるようにデータを変換
  (4)機械学習モデルの選定      : どの機械学習モデルを利用するか
  (5)モデルの学習(パラメータ推定) : パラメータの決め方
  (6)モデルの評価          : ハイパーパラメータの選定、モデル精度を測る
  ※必ずしも機械学習!!というわけではない。デメリットとして技術的負債が大きい。
   ⇒運用者が開発したソリューションを理解して運用できないことがある。
  ※機械学習モデル・・・「分類」「予測」「ク

元記事を表示

ラズベリーパイ と 焼きそば(配線) の調理

# おいしそう
パイは結構固そうですが, 焼きそばはカラフルですね!

adt7410

冗談はここまでにしておきます…

# 話すこと
以前からRaspberry Piを使うことが多かったのですが、センサーを多く取り付けようとすると配線がめちゃくちゃ大変になります。
この記事は、使用したセンサーの使い方と配線のコツをまとめたものになります。

## 環境
– Raspberry Pi 3 Model B+
– [ラズパイの仕様について](https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/)
– 使用言語:Python3

ras-pi3b+Django: ログインしているユーザー名で記事を投稿する方法

# この記事の内容
記事やツイートを投稿するアプリで、投稿した記事の作成者をログインしているユーザー名にしたいときの設定方法について記載します。
DjangoでWebアプリを作り始めたのでその備忘です。

### 目次
1.失敗例
2.実装例

# 1.失敗例

記事投稿ができるアプリを作成する際に、「投稿した記事のauthorをログインユーザーに一致させ、ForeignKeyにより、authorと記事を1対多で対応させる」
ということを目指します。

まずは下記のようなクラスをmodels.py、forms.py、views.pyに作成しました。
しかしこれではうまくいきません。

“`python:models.py

class Post(models.Model):
content = models.TextField(max_length=50)
author = models.ForeignKey(User, on_delete=models.CASCADE)
date_posted = models.DateTimeField(default=

元記事を表示

pandas メモ

“`
import numpy as np
import matplotlib.pyplot as plt
“`

##円グラフ

“`
label = [‘car’, ‘bike’, ‘motorcycle’]
x = np.array([200, 100, 50])
plt.pie(x, labels = label)
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/431266/7ea4914d-9df5-4753-d4a7-707c7d59e479.png)

元記事を表示

Jupyter labの拡張機能(Variable inspector)がインストール済みなのに動作しない(Uninstalled core extensions)

日本語ではこのバグについて見つけられず時間がかかってしまったので一応記録しておきます。

#症状
jupyterlabの拡張機能の一つであるVariable inspectorがインストール済みにも関わらず機能しなくなった。具体的には、通常タブ内で右クリックすると”Open Variable inspector”が出てきて開くことができるのだが、その文字すら一向に出てこなくなってしまった。jupyterlabの再インストール,バージョンの変更、Variable inspectorのアンインストールなど行ってみたが全く効果なし。
環境:macOS,zsh,pip

以下を行うとjupyterlabのインストール済みの拡張機能が見られる。

“`
$ jupyter labextension list
“`

“`
JupyterLab v2.0.1
Known labextensions:
app dir: /Users/ユーザ名/.pyenv/versions/3.8.3/share/jupyter/lab
@lckr/jupyterlab_variable

元記事を表示

【感染症モデル入門】「対数グラフを見てみると。。。第二波だ」から18日‼

想定通りの感染状況で酷いので、日曜日まで待てずにここでまとめておきます。
簡単にMACDの結果だけ書きます。
7月23日GoToトラベル初日の今日新規感染者は東京366人、全国981人と報道されています。

いよいよ、一日世界標準的な新規感染数
1000人/日 365,000人/年
という数字になってしまいました。
この感染数だと、想定される死亡数は平均的には4%程度なので
40人/日 15,000人/年
という数字になります。

はっきり言って、感受性保持者は国民が1億2300万人いるので、感染者3万人いても、ほぼ100%で、まだまだ抗体保有率は低いと言えます。
ということで、なんの対策もしなければ、上記の数字で毎年感染が流行することとなります。

とはいえ永久に感染者が伸び続けるのかというとそんなことはなく、国民の免疫状態や生活様式(マスク、ハグ無し、キス無し、...物理的距離を置く)などの影響で一定値で飽和するものと思われます。
ただ、どこで止まるかは施策との関係なので、なんとも言えません。
しかし、そういうことを予測する一つの手段が、Decompose(Trend)+MACDで

元記事を表示

pygameでn秒おきに音が鳴るタイマーを実装する

# はじめに
pygameというライブラリを使って、
指定時間おきに音楽が再生されるコンソールアプリを開発します。

# 背景

適性試験CABの対策を目的に作成しました。
これは大量の問題を高速で処理していかなければならないものなので、
1問あたりに何秒の時間をかけるか?という、時間の管理は非常に大切です。

この試験の対策をするにあたって、
例えば、30秒経ったよ!1分経ったよ!いま1分30秒!…のように、
経過時間を音で知らせてくれるアプリがあれば、『効率的に試験を解く』練習がしやすいと考えました。

というわけで

**n秒おきにアラームが鳴るコンソールアプリケーションを開発します。**

# 開発環境

– Python 3.8.3
– pygame 1.9.6

# ソースコード

とりあえず動いたら(使えたら)いいやという観点から作っているので、
指摘されるべき点はたくさんあると思います。

例:While Trueが終わらない

再生する音楽(音)はこちらでお借りしました。
[魔王魂](https://maoudamashii.jokersounds.com/ar

元記事を表示

コロナ禍だからこそ過去に自分が行った場所を友人に共有したい(編集中)

編集中の記事です。当方、何をするにも時間がかかるひよこエンジニアのため、
編集中ですが公開してます。すみません。。。

#はじめに
コロナ禍でも友人と会いたいです。(※ただの願望であって、実際にはここ数カ月はオンラインで我慢してます。)
ただ、友人の大切な健康と命がかかっている問題なので、
僕と会うことがどれくらいの感染リスクなのか、
僕ではなく友人自身に判断してもらいたいものです。
そのためには、僕が行った場所を簡単に可視化・共有できたらいいな、と思いました。

# 過去に自分が行った場所を友人に共有する手順(案)
以下、こんな方法がありえるんじゃないか?という案です。

1. 友人と会う約束をする
2. Googleロケーション履歴をオンにする
 (もし実際にオンにされるときは、個人の責任でお願いします。)
3. COVID-19の潜伏期間(2,3週間?)は、なるべくステイホームする。スーパーや薬局には行く。
4. 自分のロケーション履歴のKMLファイルをダウンロードする。
5. ダウンロードしたKMLファイルをパースする。(次のセクションで補足しています。)
6. パース結果を友

元記事を表示

Anvil の CRUD チュートリアルを改造した時のメモ

# 概要

[Anvil](https://anvil.works/) は Python でコーディングする、Web ベースの統合開発環境です。
1個のプロジェクトが以下のような構成になっています。

– Anvil プロジェクト
– Client Code (UI のデザインとコード)
– Server Code (サーバサイドのコード)
– Services (連携するサービス (DB など))

この構成を理解するには、DB の基本操作 (CRUD) を実装するチュートリアル [News Aggregator Tutorial](https://anvil.works/learn/tutorials/database-backed-apps) を学ぶのが手っ取り早いです。

このチュートリアルのプロジェクトを少し改造して、クイズ集アプリのようにしましたので、その時のメモをご紹介します。

# 前提

[News Aggregator Tutorial](https://anvil.works/learn/tutorials/database-backed-

元記事を表示

[RaspberryPi] cpu温度をリアルタイム監視

# 環境
– 端末 : Raspberry Pi 4 Model B 4[GB]
– OS : Raspbian(buster)
– 言語 : Python3.7.3

# 目的
Rsspberry Piのcpu温度を定期的に取得 & リアルタイムでグラフに表示

# ソースコード

“`python
# cpu_tempreture.py

import re
import os
import csv
import time
import datetime
import subprocess
import numpy as np
from matplotlib import pyplot as plt

# マクロ
UPDATE_TIME = 15 # 指定した分数ごとにcpu温度を取得
FIG_X = 19.2 # グラフウィンドウの横サイズ
FIG_Y = 4 # グラフウィンドウの縦サイズ
X_MIN = 0 # x軸(時刻)の最小値
X_MAX = 24 # x軸(時刻)の最大値
Y_MIN =

元記事を表示

大量に取ったスクリーンショットの名前を変更するのがめんどうだったのでPythonで変更した

#目的
Macを使っています。スクリーンショットを20枚くらい保存しましたが、それぞれ「スクリーンショット 年月日時刻.png」という名前で保存されます。
これをまとめて「~~001.png」のようにしたかったため、Pythonで以下のプログラムを書きました。

#概要
“`sh
python 本ファイル ‘A’ ‘B’ N
“`
A:変換するファイル一覧。ワイルドカードを使う(例:*.png)。
B:変更後ファイル名。拡張子は継承される(出力:B001.png)。
N:連番の開始番号(整数値)。何もいれないと0から開始する。

ファイルのソートは名前順です。
Bはクオーテーションで囲わなくてもいいですが、Aはクオーテーションで囲ってください。

#ソースコード
何かあったときのために、27行目をコメントアウトしています。外してください。

“`Python
import os, glob, sys, pprint
args = sys.argv

# とりあえず、Aでヒットしたファイルを出力する
dirlist = sorted(glob.glob(args[1]))
ppri

元記事を表示

OTHERカテゴリの最新記事