- 1. Discord Bot と 顔認識を組み合わせてみた ~LT用~
- 2. ラズベリーパイとESP32で温度管理システムの制作(1)
- 3. Mac の環境構築を自動化してみた
- 4. pythonでCGIアプリケーション
- 5. Mac (macOS Catalina) の開発環境設定の記録 (データサイエンスのための環境構築 Docker 編)
- 6. 『ガウス過程と機械学習』Pythonのnumpyだけで実装するガウス過程回帰
- 7. 自宅サーバー用CentOS 7.7にpython環境を構築する
- 8. MacのPythonを2系から3系にアップデートする
- 9. 【AtCoder】二分探索の問題を解く
- 10. huey
- 11. ?初心者向け?PythonでYoutubeAPIを叩こう
- 12. ゼロから作るDeep Learningで素人がつまずいたことメモ:1章
- 13. NetworkX と pygraphviz / Gephi で日本語ラベル付きエッジを持つグラフを可視化
- 14. Discord bot備忘録 ①ボット作成編
- 15. Pythonでテキストデータの主成分分析に挑戦
- 16. プリコネRの自動化を試みた
- 17. [ゼロから作るDeep Learning]Affineレイヤを実装してみた
- 18. 「傷口に貼るアレ」で例える文字コード処理 ~python3で文字化けファイル名操作~
- 19. 初心者がUE4でルービックキューブ風なものを作って強化学習用のライブラリにしたい #3
- 20. Ansibleの変数を利用してserverspecで自動テストする実装例
Discord Bot と 顔認識を組み合わせてみた ~LT用~
# はじめに
LTで発表する用の資料今までやってきた顔認識(OpenCV)をボット化してみた
※ 顔認識記事がまだまとまっていません(;・∀・)お品書きは下記の通り
* なぜ、Discord?
* モジュール,ディレクトリ構造など
* Discord Bot# なぜ、Discord?
**なんとなくです!**今まで、Slack Bot で既に作っちゃったしなぁ
でも LINE Bot もなんかなぁ…
そうだ、 **Discord ってボット作れるんじゃね???**
てことで Discord Bot について調べた
なんか楽しそうなので作ってみた☆
#ことはじめ
私の勤め先で扱っている製品は温度が2~3℃変動しただけで不良品になってしまうほど温度に対してシビアな為、
作業に使う3つの部屋に温度計を10か所以上配置して24時間管理しています。このシステムを作る前同じようなソフトを作りましたが、データインポートに対して特に考えていなかった為
週に一回温湿度データを収集してExcelでまとめる作業がありこの作業が面倒だった為
温湿度収集→記録→表示→分析まで一本化する新バージョンをラズベリーパイとESP32で作ります。#概要
![温度管理システム.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/361605/9a5b8786-e52f-2bd7-01f5-e791fa9257f6.png)
ラズベリーパイをサーバーにして、SHT31を付け各ポジションに配置した
ESP32からラズベリーパイへ温湿度を送信します。####表示する方法はブラウザとExcelを使います。
ブラウザでは各ポジションの現在の温湿度と更新時間のみを表示します。
これの前バ
Mac の環境構築を自動化してみた
# はじめに
どうも、源武です。macOS Catalina が登場して、システムの構成が大きく変化しましたね。
私は Catalina をインストールする上で、一旦データを初期化してからインストールしようと考えていました。
しかし、私の開発環境はソフトが多く、手動でセットアップするのは正直面倒です。
なので、環境構築を自動化するスクリプトをサクッと書いてきました。今回はそれを紹介します。
[GitHub: Genbuchan/dotfiles](https://github.com/Genbuchan/dotfiles)
# dotfiles
**dotfiles** をご存知でしょうか。.bashrc などの、先頭に . が付く設定ファイルのことです。といっても今回のスクリプトに . が付くファイルはほとんど無いです笑
便宜上、今回は **dotfiles** ということで話を進めていきます。
# セットアップの流れ
至ってシンプルです。ソフトウェアをインストールして、設定ファイルを展開するだけ、という単純な内容となっています。
ここからは、詳しい流れを紹
pythonでCGIアプリケーション
#はじめに
pythonの教科書を読んでいたら、cgiアプリケーションを作れることを発見!
今回はすごく簡単に動作確認だけ行って、詳細は次回掲載したいと思う。
では、早速やってみる。#動かしていく
まず、以下のpythonスクリプト、htmlファイルを作成。“`python:test.py
import cgiprint(“Content-Type: text/html; charset=utf-8″)
htmltext=”””
Takumi Katayama Qiita python
“””
print(htmltext)
“`“`html:test.html
Takumi Katayama
Mac (macOS Catalina) の開発環境設定の記録 (データサイエンスのための環境構築 Docker 編)
## はじめに
macOS Mojave をクリーンインストールした際の記録です。
データサイエンスのための環境構築の記録です。
Docker を用いて Jupyter Notebook を使用できるようにします。
## 記事作成・更新時の環境
– Model: MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)
– OS: macOS Catalina 10.15
– Docker 19.03.2## Docker のインストール
“`
$ brew cask install docker
“`メニューバーのクジラのアニメーションが動いている間は起動中です.
起動後に以下を確認します。
“`
$ docker versionClient: Docker Engine – Community
Version: 19.03.2
API version: 1.40
Go version: go1.12.8
Git commit: 6a
『ガウス過程と機械学習』Pythonのnumpyだけで実装するガウス過程回帰
最近[『ガウス過程と機械学習』](https://www.amazon.co.jp/exec/obidos/ASIN/4061529269/hikarus0sem0y-22/)を読んだので、Pythonで実装してみました。
内容としては、Chapter 3 の「3.4.2 ガウス過程回帰の計算」になります。
![MLP_GaussianProcess.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/357086/04226327-32bd-3b5d-8ae9-d45483485cda.jpeg)
シカちゃんが目印。分かりやすくて結構おすすめです。## データの作成
今回のデータは、
元データ: 人工的に作成したサイン波
学習データ: サイン波から部分的に得たランダムなサンプル点
予測データ: 元のサイン波といった感じです。
それではウォーミングアップも兼ねてデータを作成していきましょう。
“`python
import numpy as np# サンプル信号の作成
n=100
x
自宅サーバー用CentOS 7.7にpython環境を構築する
# モチベーション
自宅でのプログラミング環境を整備するためにCentOS7にGitLabとMattermostをインストールした自宅サーバーを運用中
(このセットアップは別途記事を準備中。いろいろあってめちゃくちゃ長くなってしまっている…)GitLabからのいろいろな通知はMattermostで見れるようになっているが、
それ以外にも例えばClamAVでウイルス検知したときや適当なログなどをMattermostのプライベートチャネルに送れたら管理が楽になりそう。Gmailは大量のスパムに埋もれるし。
pythonにslackwebというslack等々にメッセージを送れるライブラリがあるようなので、そのインストールが最終目標。とはいえ、そもそもpythonについてはサーバー内で特に弄っていなかったため、CentOS 7デフォルトの2.7ではなく3系統が使えるように環境を構築する。
もとの環境を汚さないように適当な仮想環境を作るというのでググってみると、pyenvとpipenvによる仮想環境が良さそうだったので当面それを試す。$と
MacのPythonを2系から3系にアップデートする
# 概要
Macには元からPythonがインストールされていますが、OS 10.15の時点でもバージョンが古い2系です。実際にPythonを書くとなると皆さん3系にアップデートされているようです。そこで自分も3系にアップデートをしたのでその際の手順を記録します。### 参考URL
https://prog-8.com/docs/python-env### 作業環境
Mac OS 10.15 Catalina
固定ネットワーク回線# Pythonのアップデート手順
Mac環境でオススメされている手順は下記のようです。* 現在インストールされているPythonのバージョンを確認
* Homebrewをインストール
* Homebrew を使ってpyenvをインストール
* pyenv を設定
* pyenvを使ってPython 3系をインストール### 現在インストールされているPythonのバージョンを確認
まずは念のため自分のMacのPythonのバージョンを確認します。ターミナルを開いて下記のコマンドを入力するとバージョンが表示されます。“`
$ Pyth
【AtCoder】二分探索の問題を解く
競プロ強くなりたいので、[このサイト(AtCoder 版!蟻本 (初級編))](https://qiita.com/drken/items/e77685614f3c6bf86f44#%E4%BE%8B%E9%A1%8C-2-5-5warshall-floyd-%E3%82%92%E4%BD%BF%E3%81%86%E5%95%8F%E9%A1%8C)を参考に、AtCoderの問題を解いてアルゴリズムの基礎固めしています。今回解いたのは、[この問題](https://www.ioi-jp.org/joi/2007/2008-ho-prob_and_sol/2008-ho.pdf#page=6)(の中のC-ダーツ)です。競プロやるうえで基本となる二分探索(計算量O(logN))ですが、どこで使うか判断するのがなかなか難しいです。。
### 問題概要
4本の矢を投げて、点数$P_1, P_2, …, P_N$ の中で当たった点数の合計のうち、$M$ を超えないものの最大値を求めます。矢を「投げない」という選択もOKです。
$S \leq M$
$1 \leq N \leq 1000$
huey
# hueyとは?
Pythonで利用できる軽量タスクキュー。
– https://huey.readthedocs.io/
よく使われているタスクキューとして [celery](https://celeryproject.org) があるが、複雑なワークフローやバックエンドが必要なければHueyのほうがシンプルで使いやすいと感じる。celeryの謎挙動(プロセスは生きているもののタスクは処理されないなど)に遭遇した人には特に。
## 特徴
– 軽量、シンプル
– Redis, SQLite, インメモリのバックエンド
– 定期実行
– 遅延実行
– 自動リトライ
– Djangoとの統合(このケースで書いています)# タスク
## タスクの作成関数を `task` デコレータでくるむだけで非同期タスクとなる。この関数は `TaskWrapper` クラスとなり、リトライの設定などを同時に保持する。 `some_app/tasks.py` に書くことでhueyのワーカープロセスが自動的に発見してくれる。 `crontab` による定期実行もできる。
“`pytho
?初心者向け?PythonでYoutubeAPIを叩こう
# 初めに
APIという単語はよく聞くし、どんなものかは何となくは理解していたものの使ったことは無かったので触ってみることにしました。# 本題
###APIキーを作成する
先ずは、何をするんだろう?となりますよね。APIキーがいるって話を聞いたことがあったので、その取得からやっていきたいと思います。以下のサイト[Google Developer Console](https://console.developers.google.com/?hl=JA)から生成します。そして、ここから新しいプロジェクトを選択しプロジェクト名を付けます。進むと、組織を聞かれますがなしで良いと思います。![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455271/329b71e7-bc6c-ce9e-2853-e6d55280253d.png)
次に,使用できるAPIが無いと言われると思うので**+APIとサービスを有効化**を押して下さい。すると、APIライブラリへようこそ、と出てきてその下に検索ボックスがあり
ゼロから作るDeep Learningで素人がつまずいたことメモ:1章
#はじめに
ふと思い立って、[「ゼロから作るDeep LearningーーPythonで学ぶディープラーニングの理論と実装」](https://www.oreilly.co.jp/books/9784873117584/)と[「ゼロから作るDeep Learning(2)ーー自然言語処理編」](https://www.oreilly.co.jp/books/9784873118369/)を勉強することにしました。ただ、なかなか時間も取れなくて続くのかどうかが非常に心配です。でも、2〜3年前に[「言語処理100本ノック2015」](http://www.cl.ecei.tohoku.ac.jp/nlp100/)をやりきった時は、[素人の言語処理100本ノック](https://qiita.com/segavvy/items/fb50ba8097d59475f760)としてQiitaに投稿し続けて、みなさんの「いいね」やコメントのおかげでやりきることができたので、今回もQiitaの力を借りることにしました。
今回はこの本で私がつまずいたことなどを1章ごとにメモしていこうと思います。誤
NetworkX と pygraphviz / Gephi で日本語ラベル付きエッジを持つグラフを可視化
# はじめに
NetworkX は matplotlib を使うこともできますが、PyGraphviz や Gephi でグラフを描画したほうがいろいろと細かい設定ができるようです。
ここでは、Python 上の NetworkX で日本語ラベル付きエッジを持つようなグラフを作成したあとに、[AGraphクラスのオブジェクト (dot 形式)](https://pygraphviz.github.io/documentation/latest/reference/agraph.html) へ変換して pygraphviz で描画結果をファイル出力し、それと同時に GraphML ファイルを出力する例を紹介します。出力された GraphML ファイルは Gephi へ入力して可視化することが可能です。
ついでにインストール方法をまとめておきます。
# インストール
## NetworkX
“`shell-session
> pip install networkx
“`## PyGraphviz
そのまま pip で入れようとすると `fatal error: ‘g
Discord bot備忘録 ①ボット作成編
# はじめに
Discord bot を作成した備忘録とある事情でDiscord bot を作成したいと思ったので、bot作成から様々なアクションの備忘録
slackbot以外にも手を出してみたかったお品書きは以下の通り
* Discord とは
* Discord bot の作成方法
* モジュール,ディレクトリ構造など
* いろいろ作ってみた# Discord とは
> Discord(ディスコード)とは、~~~ 音声通話・VoIPフリーソフトウェアである。
> (Wikipediaより)私は今までSlackみたいに使ったことが何度かあった
SlackにボットがあるんだからDiscordも…と思って調べてみたらdiscordにもあったので作ってみようと
# Discord bot の作成方法
Applicatio
Pythonでテキストデータの主成分分析に挑戦
#この記事について
[前回投稿した記事](https://qiita.com/torahirod/items/e6b84789efc19f9c488f)では、マンガでわかる統計学[因子分析編] 第4章の主成分分析のところをPythonで追いかけました。今回はテキストデータの主成分分析にPythonで挑戦します。
#参考
– [テキストアナリティクス](https://www.kyoritsu-pub.co.jp/bookdetail/9784320112612)#背景・目的
元々、主成分分析を知りたいと思ったきっかけが、この金 明哲氏のテキストアナリティクス本でした。
テキストデータのクラスタリングをやりたいと思っていたところ、この本の主成分分析がおもしろそうだと感じ、これがきっかけで主成分分析を勉強しました。#分析内容について
分析対象は3つのテーマ(友達、車、和食)について書かれた作文データです。
3テーマ × 11人の全部で33件のデータです。データは[こちら](https://www.kyoritsu-pub.co.jp/bookdetail/97843201
プリコネRの自動化を試みた
#プリコネRの自動化を試みた
プリコネで自動化を試みていたが、ある程度成果が出たので情報を公開する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265588/28376b7d-fd55-bde2-5b04-24faab358fc3.png)## 結果
## 使用したツール
SikuliX
http://sikulix.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265588/c7f18614-6231-9d2d-dee2-68730570d70f.png)## 設定の概要
スクリーンショットを撮り、Pythonに似たコードを書くことで自動化を試みる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265588/3
[ゼロから作るDeep Learning]Affineレイヤを実装してみた
#はじめに
この記事は**ゼロから作るディープラーニング 6章誤差逆伝播法**を自分なりに理解して分かりやすくアウトプットしたものです。
文系の自分でも理解することが出来たので、気持ちを楽にして読んでいただけたら幸いです。
また、本書を学習する際に参考にしていただけたらもっと嬉しいです。#Affineレイヤ実装
Affineレイヤとは、ニューロンの入力信号と重みをそれぞれ掛けて総和し、それにバイアスをたす処理をレイヤにしたものです。“`python
class Affine:# 入力信号に重みをかけてその総和とバイアスをたす処理のレイヤ実装
def __init__(self, W, b):
self.W = W
self.b = b
self.x = None
self.dW = None # 逆伝播処理で求めた各微分を保存するためにインスタンス変数を作成
self.db = None # 逆伝播処理で求めた各微分を保存するためにインスタンス変数を作成def for
「傷口に貼るアレ」で例える文字コード処理 ~python3で文字化けファイル名操作~
# はじめに
Pythonで日本語ファイル名を処理する需要があって,本記事を書くに至った.テキストファイルの読み書きの際の文字コード指定は比較的容易にできる.しかし,__ファイル名__にshift-jisといった文字列が用いられた際,いわゆる文字コード間の変換が必要となり,その理解になかなか苦労した.
同じ日本語記載のファイル名でも,文字コードがutf-8かshift-jisかでは全く別物.ファイル名を表示するUIが頭よく解釈してくれるおかげで,普段は頭を使わず作業ができるものの,pythonでその処理が必要となった場合,文字コードの混交(扱うファイルによって文字コードが異なる状況)は非常に厄介となる.
というわけで,今回はそれぞれの文字コードの表示や変換を理解しつつ,最終的にはshift-jisの日本語ファイル名を,python3のデフォルトであるutf-8に変換することを目指す.想定は3系です.**3系**です(文字コード関連なので大事).
本記事の文字コード関連で必要な知識は,ほとんどは[**公式サイト**](https://docs.python.org/ja/3.6/h
初心者がUE4でルービックキューブ風なものを作って強化学習用のライブラリにしたい #3
前回に引き続き初心者がUE4を絡めたPythonライブラリを作れないか色々進めていく記事です(ほぼ自分のための備忘録としての面が強い・・)。
最初 : [#1](https://qiita.com/simonritchie/items/e8d84c2941b5bd2862f5)
前回 : [#2](https://qiita.com/simonritchie/items/c72e24368909f4fb196e)# 回転処理の関数のブラッシュアップ
前回の記事で作った回転の関数が、少々煩雑な気がしてきており、且つ何個も作る形になる(なるべくシンプルにしたい)ので、ブループリントがシンプルになるように抽象化された関数を挟んだり等、変更していきます(DRY原則的に)。
assert用の処理は加えてあるので、躊躇せずがっつり手を加えていきます。
## 移動のアニメーションの関数の抽象化
applyMoveAnimValueという関数を追加して、各軸の回転とアニメーションの関数から共通で利用し、アニメーションに必要なパラメーターを渡してアニメーションさせるようにします。
![i
Ansibleの変数を利用してserverspecで自動テストする実装例
# はじめに
Ansibleで設定したLinuxサーバ群に対して、serverspecでテストする際に抱えていた以下のような問題を解決するために、Ansibleとserverspecを魔改造(?)してみました。
* Ansibleとserverspecそれぞれで変数ファイルを用意するのが面倒
* Ansibleとserverspecそれぞれで対象ノードを記述したインベントリファイルを用意するのが面倒
* `serverspec-init` で提供される初期設定では、テストコードをテスト対象サーバ名のついたディレクトリ毎に用意する必要があり面倒Ansibleとserverspecを併用する際の実装例として参考になさってください。
# 実装例
## 環境
### Ansible Control Node
* CentOS 7.6
* ansible 2.9.0
* serverspec 2.41.5
* ruby 2.6.3p62
* Python 2.7.5### Ansible Managed Node
* CentOS 7.6 × 2 Node## ディレクトリ構