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

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

会社に精神と時のチャット部屋を作った話

# はじめに
会社内の技術力を上げるために何かエンジニア同士で話し合ったり、共有したりしたかった人の物語。

# 序章
今の会社に転職して約半年。
段々と今の会社の雰囲気や業務にも慣れてきて、少しずつ会社の良いところも悪いところも見えてきた。

悪いところの1個の中に「この会社あまりエンジニア同士のコミュニケーションがないな」と僕は思った。
明るく気さくに話す人は多いけど、基本的にあんまり技術の話とかはしない。
勉強会もたまにあったりするけど、業務後だと参加率も悪いし、そもそもあんまり効率的ではない。

そこで別の会社で同じくWeb業界で働いている友人に聞いてみた。
僕:「Aの会社ってエンジニア同士のコミニュケーションってどうなってる?」
A:「みんな自己中な人多いから、勝手に好き勝手チャットで呟いてるよ。そういうの好きな人は積極的に参加してる。そうじゃない人には強制しないかな。」

なるほど…
「勉強会」の違和感はこれだったのかもしれない。
勉強会だとやっぱりどうしても、参加しない人はノリ悪いみたいな流れにもなるし、もっと軽い感じで好き勝手できる方が良いのか。

じゃあ、会社のチ

元記事を表示

RFCのbibtexを生成するコマンドが便利なので全てのX論生に届け

## 概要
– 小ネタ
– インターネットな論文を書くとき,ちょくちょくRFCを引用する.
– IETF Draft(RFC)のbibtexをささっと生成するコマンドがあるから紹介したい

## 本題: `rfcbibtex`
PyPi: https://pypi.org/project/rfcbibtex/
Github: https://github.com/iluxonchik/rfc-bibtex/

## 使用例
こんな感じで使える.簡単.

“`terminal:~/
$ rfcbibtex RFC8215
@misc{RFC8215,
series = {Request for Comments},
number = 8215,
howpublished = {RFC 8215},
publisher = {RFC Editor},
doi = {10.17487/RFC8215},
url =

元記事を表示

Sphinx+Drone+S3で快適ドキュメントライフ

ドキュメントの維持管理はどんな組織においても永遠の課題と思います。
今回は[サーバープラットフォームチーム](https://jobs.qiita.com/employers/e-seikatsu/development_teams/24)で取り入れている永続化したい社内向けドキュメントの維持管理の仕組みをご紹介します。

## Sphinx とは

[Sphinx](https://www.sphinx-doc.org/ja/master/) は Python ベースのドキュメント生成ツールです。
マークアップ言語である reStructuredText をソースとして、 HTML で構成されたドキュメントをビルドできます。
プラグインを入れれば Markdown や AsciiDoc をソースにすることもできますし、 PlantUML を埋め込んだりすることもできます。

## Sphinx ドキュメントのホスティング

Sphinx で作ったドキュメントを公開したいのであれば [readthedocs.org](https://readthedocs.org/) を使うのが簡単で

元記事を表示

KivyのUI要素のshow/hide

main.py

“`

#-*- coding: utf-8 -*-

from kivy.app import App
from kivy.uix.widget import Widget

from kivy.properties import NumericProperty

class TestWidget(Widget):
testTextInput2_Opacity = NumericProperty()
testTextInput2_size_hint_y = NumericProperty()
show_hide = 0

def __init__(self, **kwargs):
super(TestWidget, self).__init__(**kwargs)
self.testTextInput2_Opacity = 1
self.testTextInput2_size_hint_y = 0.2

def buttonClicked(self):
if self.show_hide == 0:
self.ids

元記事を表示

Pythonで自動ジョブを実行する

Pythonでcronジョブを回すのに何か良いアイデアはないかなと探しいたところ、**APScheduler**というライブラリを見つけた。

基本的にできることは以下のようなところ。

* 開始/終了時間を設定した上でのcronスケジューリング
* 均等間隔でcronを実行
* 設定した日時に1回限り実行

今回は10分おきにAPIを叩いて、情報が取得できた場合はそのデータを保存する的なやつを作る予定だったので、この要件には十分満たしていた。あとは、環境やフレームワークごとにそれぞれSchedulerを起動するメソッドが用意されているので結構便利。

### APSchedulerをインストール
“`terminal
$ pip install apscheduler
“`

### 処理を書く

“`python:app/schedule.py
def hello_world():
print(“Hello World!”)

sched = BackgroundScheduler(standalone=True,coalesce=True)
sched.add_job

元記事を表示

スケジュール表

#実行した環境
Ubuntu Stdio 18.04LTS
Python 3.6.9
Firefox 71.0(64ビット)

#参考にしたサイト
Pythonで自分だけのTODOアプリを作ろう
https://news.mynavi.jp/article/zeropython-57/

JavaScript を使ってみる 例題11: カレンダーの作成
http://home.e02.itscom.net/shouji/pc/js/p-11.html

その他

![schedule.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/238800/51ef3e21-0b9b-5f3b-029a-9e5c668f9542.png)

追加ボタンのサイズを変更する方法を探しているのですが見つかりません。
#作るきっかけ
「Pythonで自分だけのTODOアプリを作ろう」の記事を読んでいて、そのままスケジュール表に使えるやんと思って使い始めました。
正味、ド素人がネット上にあるサンプルコードをつなぎ合わせたも

元記事を表示

argparse メモ

Python のコマンドラインパースツールの argparse についてのメモ

## 参照

[マニュアル](https://docs.python.org/3/library/argparse.html), [チュートリアル](https://docs.python.org/3/howto/argparse.html)

## 典型的な使用例

“`Python
import argparse

def main():
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
description=”Concatenates a person’s files”,
epilog=”’Notices:
1. You need an account first.
2. Files should exist.
”’
)
parser.add_argument(

元記事を表示

lambda_handler外のグローバル変数に気をつけよう(datetime)

# はじめに
ジョブが作成されてからLambdaが実行されるまでの間の時間(滞留時間)を取得する
Lambdaを作成していた時に
現在日時を取得するためにdatetimeを使用していたのですが、
そこで「AWS Lambdaは関数インスタンスを再利用」というのに見事にハマったので、
記事にしてみたいと思います。

# 最初に作成していたコード
まずLambdaが実行された現在日時を取得するための
コードを簡略化したものが以下になります。

“`.py
from datetime import datetime

now = datetime.now()

def lambda_handler(event, context):
method_a()

def method_a():
method_b()

def method_b():
method_c()

def method_c():
# xはジョブの作成日時を表しています。
time = now – x
print(data)
“`

– ジョブの作成時刻を`x`
– 現在時刻を`now`

元記事を表示

Pythonのunittestを並列実行する

# 概要

やりたいこと:
Python標準のunittestモジュールを利用したテストコードを並列実行したい

やりかた:
テストランナーとして nose を使い、 `–processes` オプションで並列実行数を指定する

# 確認環境

“`console
$ python –version
Python 3.7.2
$ nosetests –version
nosetests version 1.3.7
“`
# 確認用サンプルコード

ここでは並列実行の効果を見たいので、time.sleep() でテストメソッドに1秒の待ちを入れておく。

“`console
$ cat test_s1.py
import unittest
import time
class Test(unittest.TestCase):
def test_method(self):
time.sleep(1)
self.assertTrue(True)
$ cat test_f1.py
import unittest
import time
clas

元記事を表示

AWS SageMaker Studioを使ってみる

## はじめに
一週間ほど前に[JupyterじゃなくてJupyterLabを勧めるN個の理由](https://qiita.com/marutaku0131/items/9881d0430462e655a701)という記事を書きました。全然話は変わりますが、AWSの新製品発表会のre:InventというイベントでSageMaker Studioという製品が発表されました。AWSで今まで存在していたSageMakerのサービスを1つの画面で管理できることができるようです。今まで自分のローカル環境かGoogle Colaboratoryでしか機械学習をしたことのない僕ですが、このSageMaker Studioを試して見たいと思います。

## 使ってみる
使ってみます。SegeMaker Studioは現在preview releaseとなっており、近所の東京リージョンでは使用できません。使用できるのはオハイオ(us-east-2)のみになっています。

[![Screenshot from Gyazo](https://gyazo.com/60bb76640151362f6f0ca2

元記事を表示

YOLOを用いて物体検出を行うモデルを3時間で作る方法

#YOLOを用いて物体検出を行うモデルを3時間で作る方法を教えます。
めちゃめちゃ雑な内容になっていますが、超簡単に物体検出を行う方法を紹介します。
## 今回作成するにあたって用いたツール
– labelImg
– YOLO
– GoogleColabratory
– Googledrive(Googleアカウント必須)

## 参考にした記事(本当に感謝)
– YOLOオリジナルデータの学習 http://takesan.hatenablog.com/entry/2018/08/16/013452
– Google Colaboratory上でYOLOv3のオリジナルデータ学習 https://qiita.com/emi-cd/items/60e8fe877dbedb2cfae7
– Google Colab上でdarknet(YOLO)を使って物体を数える【画像認識】 https://wakuphas.hatenablog.com/entry/2018/09/19/025941

## モデルの作り方
そもそものYOLOとは?物体検出とは?などといった質問に関する回答は上記事など

元記事を表示

【AI初心者向け】mnist_transfer_cnn.pyを1行ずつ解説していく(KerasでMNISTを学習させる)

# はじめに
この記事は全3回予定の第3回の記事です。
この記事は[mnist_transfer_cnn.py](https://github.com/keras-team/keras/blob/master/examples/mnist_transfer_cnn.py)を1行ずつ解説していくだけの記事です。
前回と重なる部分もありますが、記事単体で読みやすくするため、重複して書いている内容もありますのでご了承ください。
AIに興味があるけどまだ触ったことはない人などが対象です。これを読めばディープラーニングの基本的な学習の流れが理解できるはず、と思って書いていきます。(もともとは社内で研修用に使おうと思って作成していた内容です)
1. [【AI初心者向け】mnist_mlp.pyを1行ずつ解説していく(KerasでMNISTを学習させる)](https://qiita.com/nashineko/items/4ca4ee9230266037d6ee)
2. [【AI初心者向け】mnist_cnn.pyを1行ずつ解説していく(KerasでMNISTを学習させる)](https://qi

元記事を表示

foursquare APIを使って2019年の行動を振り返ってみた

この記事は[アラタナアドベントカレンダー2019の21日目](https://qiita.com/advent-calendar/2019/aratana)の記事です。

![https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_217773_5ef318e0-bd49-8f89-bafa-50b68dc7ffeb.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107176/9435119a-e9f0-cdf9-2ee6-9786bc4f48f3.jpeg)

# foursquare APIとは?
一言でまとめると、位置情報に基づいた情報を扱うことができるAPIです。
詳細は以下の公式ページで紹介されいるので、気になる方はそちらを御覧ください
https://developer.foursquare.com/

# どのようなデータが扱えるのか
[公式サイト](https://developer.foursquare.com/doc

元記事を表示

競プロで使える!Python標準ライブラリ

# はじめに
– 競技プログラミングで使えるPython標準ライブラリを紹介します。
– 実際にPython標準ライブラリを使って解いたAtCoderの問題とコードも載せています。
– AtCoderでのPython3のバージョンは3.4.3です。
– 問題解説はしません。

# 標準ライブラリ
## [bisect](https://docs.python.org/ja/3/library/bisect.html)
**配列二分法アルゴリズム**

[bisect_left(a, x, lo=0, hi=len(a))](https://docs.python.org/ja/3/library/bisect.html#bisect.bisect_left)

ソート済みのリスト$a$に対して、$x$を$a$に挿入できる位置を返します。$a$に$x$が含まれる場合、挿入箇所は既存のどの$x$の値よりも前(左)になります。

[bisect_right(a, x, lo=0, hi=len(a))](https://docs.python.org/ja/3/library/bisect.

元記事を表示

flattenとravel

こんにちは。
昨日の記事はイマイチだったのでもっと分解して、理解を深めたいと思います。

今日はflatten関数とravel関数の違いです。
どっちも配列を一元化する為の関数です。
基本的にはflatten関数を使うようですが、ravel関数の方が処理が速い場合もあるようです。
では、それぞれ見ていきましょう。

# flattenについて

まず初めtにflattenのAPI
> numpy.ndarray.flatten(order = ‘C’)

パラメーターとしてorderを持つが、今回の内容にはあまり関係ないので詳細は伏せます。
もし、気になる人は[flatten](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flatten.html)を見てください。
例文を見て見ましょう。

“`python
import numpy as np

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
a = np.reshape((2, 5))
b[4] =

元記事を表示

PythonでOpenPyXLを用いたExcel操作まとめ

# 概要
業務でPythonを使ってExcelを作成することがあったので、備忘録としてこの記事を作成しました。
実行環境は`Python 3.7`で、`OpenPyXL`を利用してExcelを作成します。

# 作成・保存・読み込み
### 新規にExcel作成
“`
from openpyxl import Workbook

wb = Workbook()
“`

### Excel保存
“`
wb.save(‘test.xlsx’)
“`
`save()`にはエクセルを保存したいpath(ディレクトリとファイル名)を指定してください。

### アクティブなシート取得
“`
ws = wb.active
“`

### シート作成
“`
ws2 = wb.create_sheet(“Sheet2”)
ws3 = wb.create_sheet(“sheet3”, 0) # 最初のシートに設定
ws4 = wb.create_sheet(“sheet4”, -1) # 最後から2番目にシートに設定
“`

### Excel読み込み
“`
from openp

元記事を表示

機械学習による深度推定で2Dの写真からオリジナルのランダムドットステレオグラム(RDS)を作成する

最高のランダムドットステレオグラム(RDS)を求めて、試行錯誤を続けてきた。

– [Pythonでオリジナルのランダムドットステレオグラム(RDS)を作る。](https://qiita.com/KR_bangkok/items/39d981d93c68fd360fa9)
– [最高のランダムドットステレオグラム(RDS)を求めて。](https://qiita.com/KR_bangkok/items/2f79c218f296f6aaf032)

とうとう機械学習を使う日が来た。これで理想のランダムドットステレオグラム(RDS)を手に入れられるはず。

最近、機械学習がブームということで、機械学習の調べ物をしていてこの記事に辿り着いてしまった不運な方のためにランダムドットステレオグラム(RDS)とは何かを説明しておく。

# What is RDS?

![1212_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329479/6afebc32-f05a-4d55-c607-ffd5132bf70

元記事を表示

スプレッドシートでRaspberryPiのリソースモニタを作ってみた

## はじめに
先日待ちに待ったRaspberryPi4が届きました。そこで早速Minecraftサーバーを走らせました。しかし、ヒートシンクが無かったためCPU温度が気になるようになりました。

また、公開予定から1週間以上過ぎたアドベントカレンダーのネタ作りも兼ねて、外出先でもCPU温度などを確認できるリソースモニタ的な何かを作ることにしました。

なお、ソースコードは全て[GitHub](https://github.com/Takahiro55555/PiResourceMonitor)上に公開しています。

### RaspberryPi側環境
– 機種: RaspberryPi4B (多分他の機種でも行けるはず…)
– OS: Raspbian Buster Lite
– 言語: Python 3.7.3
– Pythonパッケージ: requests (バージョン: 2.21.0)
– 使用コマンド:`vcgencmd`、`free`、`cat`、`grep`

## 作ったもの
RaspberryPiのCPU使用率やCPU温度、メモリ使用率などをGoogleスプレッ

元記事を表示

BERTを使った文章要約 [身内向け]

# モデル概要
![ModelOverview](https://i.imgur.com/LHbBJ6M.png)

– エンコーダ:**BERT**
– デコーダ:**Transformer**

 典型的なencoder-decoderモデル(Seq2Seq).Seq2Seqについては,ここら辺が参考になる.

[PyTorchによるSeq2seqの実装](https://www.pytry3g.com/entry/pytorch-seq2seq)

エンコーダにはBERT,デコーダにはTransformerを使っている.BERTの事前学習モデルは京都大学 黒橋・河原研究室にて公開されているものを使用している.**BERTは高性能なエンコーダになれるが,デコーダにはなれない**.理由は,エンコーダの入力を受け取れないから.しかし,BERTは構造的にはTransformerの集合なので,ほぼ同じと考えてもいい.

# データセット
![Livedoor](https://i.imgur.com/g72yUkp.jpg)
 モデル

元記事を表示

Django allauthにおけるログイン画面の作成

# Django-allauth

Django-allauthは、簡単にアカウント作成やログイン機能をDjangoで実装できるパッケージです。

+ [現場で使えるDjangoの教科書 <<実践編>>](https://booth.pm/ja/items/1030026)に詳しい内容が記載されています。

本記事では、django-allauthのテンプレートを見栄えの良い表示にし、テストの実行まで記載しています。
プロジェクトの始め方は、[Djangoのプロジェクトを始める](https://qiita.com/kwashi/items/d0f3c319725c4f480de5)を参考にしてください。

# allauthのテンプレート

base.pyに設定した、templates/allauthの下に、pythonの仮想環境に関するパッケージがあるvenv/libから
venv/lib/python3.6/site-packages/allauth/account/templatesの中身をtemplates/allauthにコピーします。

“`python:base.py

元記事を表示

OTHERカテゴリの最新記事