- 1. 背景
- 1.0.1. google Colab で機械学習を始める人向けの簡単なメモ
- 1.0.2. 【Docker】1分でローカルにjupyter notebookの環境構築
- 1.0.3. fastapiとngrokを使って爆速でオウム返しLINEbotを作る
- 1.0.4. 活性化関数の理論と実装まとめ
- 1.0.5. 【簡易編】【API × python × GitHub Actions】GithubのCommit数を自動集計するTwitterBotを作成してみよう!
- 1.0.6. backlog.com に登録した課題を Azure DevOps に転記するコードを書いた
- 1.0.7. GKE(Kubernetes)でTODO管理Linebot を作った話 【Flask, Python】
- 1.0.8. Microsoft社製AutoMLツールFLAMLが便利すぎた!
- 1.0.9. Google Homeを喋らせたい人のメモ
- 1.0.10. pypyはC言語並に早かった(素数編) cython-annotationの例有
- 1.0.11. list=[1,2,3,4,5,6]という6つの値からなるデータの中央値の表示方法
- 1.0.12. 1~10000までの素数をグラフで表す(Python)
- 1.0.13. 中央値、四分位点を求める関数(Python)
- 1.0.14. UNITYでマシンラーニングについて学ぶ
- 1.0.15. yolov5をWindows10のAnacondaで簡単に試す(coco128.yamlのReaderError対応有り)
- 1.0.16. FPGA(Pynq/ZYNQ)でプログラム(C/C++)を動作させるまでの手順
- 1.0.17. MLflow tracking 備忘録
- 1.0.18. 【Python】Pythonの型名が覚えられなかったのでメモ
ネットワーク構造の可視化
ネットワークモデルの可視化をしたかった。
参考にした記事
https://nine-num-98.blogspot.com/2020/03/dnn-visualization.htmlGoogle colabratoryで実装
自分で使用しているモデルの可視化をしたかったので、一部訂正のみ。
from tensorflow.keras.utils import plot_modelこれで以上。
統計的推定と検定をPythonで解く
背景
[「統計学は最強の学問である」](https://www.amazon.co.jp/%E7%B5%B1%E8%A8%88%E5%AD%A6%E3%81%8C%E6%9C%80%E5%BC%B7%E3%81%AE%E5%AD%A6%E5%95%8F%E3%81%A7%E3%81%82%E3%82%8B-%E8%A5%BF%E5%86%85-%E5%95%93/dp/4478022216/ref=sr_1_1?adgrpid=50762337582&gclid=CjwKCAjw9LSSBhBsEiwAKtf0n_UhbFJ_Q0Qqcv6ljQjydWXKT-UBKh_Tjj88LgeYYi4dqYzSoEKyUhoC5SkQAvD_BwE&hvadid=553962920540&hvdev=c&hvlocphy=1009314&hvnetw=g&hvqmt=e&hvrand=14439541944090559300&hvtargid=kwd-334079037768&hydadcr=4074_13159886&jp-ad-ap=0&keywords=%E7%B5
google Colab で機械学習を始める人向けの簡単なメモ
# はじめに
主に、機械学習をやろうと思い、google colab からまずは始めてみよう、と思った人向けに、ちょっとした tips や例題を紹介しておきたい。著者は宇宙天文分野なので、少し宇宙寄りな tips も書き留めておきます。
宇宙天文学に限らないと思いますが、特に最近は機械学習を捉えるときに、deep な neural net だけ知っていれば良い場合はほとんどなく、古典的なデータ解析や基礎的な手法から現状の機械学習の限界まで幅広く見渡せる視野の広さが大切になってきてる気がします。
その意味で、基礎技術(この記事はtensorflowの基礎に終始しますが基礎も大切という意味)の習得も大事にしつつ、高い視点、遠い未来を想像できる力もつけておくとよいはずです。## 参考資料とか
特筆して紹介するまでもないとは思いますが、
物理と機械学習の関係については、「ディープラーニングと物理学 オンライン」とはオンラインWeb会議システムを利用したセミナー、の内容はよいかと思います。
https://cometscome.github.io/DLAP2020/#%E7%AC
【Docker】1分でローカルにjupyter notebookの環境構築
# 本記事について
jupyter notebookの環境をdockerを用いて構築します。dockerさえインストールしてれば秒で環境構築できます。
今回は2パターンのDockerfileを書いていきます。(どっちもanaconda3使ってるのでそんな変わらない)
開発環境用です。## 環境構築パターン①
### Dockerfileを用意する
“`Dockerfile:Dockerfile
# dockerhub上にanaconda3のイメージがそのままあるのでそれを利用する。
FROM continuumio/anaconda3WORKDIR /work
ENTRYPOINT [“jupyter-lab”, “–ip=0.0.0.0”, “–allow-root”, “–NotebookApp.token=””]
CMD [“–notebook-dir=/work”]
“`### Dockerfileのあるディレクトリでコマンド実行
イメージをbuildする
“`console
$ docker build .
“`イメージのIDを確
fastapiとngrokを使って爆速でオウム返しLINEbotを作る
# 概要?
爆速とか言ってますが、個人の観測範囲でfastapiを使ってlinebot作る方法があまり紹介されていないような感じがしたので書いてみました。
ちなみに、私が開発した**某夢の国**のアトラクションの待ち時間やスタンバイパスの発行状況、ランダムにアトラクションを紹介してくれるLINEbotもfastapiで動いています。
あ、登録も忘れずにお願いします。
**登録→https://lin.ee/SLBk5e1**アトラクションをランダムに選ぶだけでなく、待ち時間そのものも見られるような機能を追加しました!
↓友達追加はこちら↓https://t.co/hFWXCOjxMe#TDR_now 活性化関数の理論と実装まとめ# 活性化関数とは
活性化関数とは、ニューラルネットにおいて、次の層に入力を渡す時に通る橋なようなもので、その橋を渡る過程でどのように変換されるかは活性化関数ごとに異なります。また、どのような変換をさせたいかは隠れ層なのか出力層なのかによっても変わってきます。
そこで、目的別に活性化関数の数式と概形、Pythonにおける実装を見ていきたいと思います。
以下、すべてにおいて入力$x$ を活性化させたときに、$y=\phi(x)$ という変換が起きたというように記述します。
また、数学的な定義が定かでない部分がありますが、活性化関数としての使用という点から温かい目で見守ってください。
## 恒等関数:そのまんま変換
本当にそのまんま入力を渡したいときに使います。
### 数式
$$
\phi(x)=x
$$_________________________________
### 実装と描画
わざわざやる必要もないかもしれませんが、一応。
“`python
import numpy as np
import matplotlib.pyplot as pltdef ide
【簡易編】【API × python × GitHub Actions】GithubのCommit数を自動集計するTwitterBotを作成してみよう!
# はじめに
[Nara](https://twitter.com/besumero628)と申します。DMMWEBCAMPで勉強後、2022年1月より都内の受託会社で勤務を始めました。この記事では、pythonをベースに、APIでgithubのcommit数の算出と、twitterの自動投稿を行い、github Actionsでそれらを自動化する方法をお伝えします。
# この記事の対象
こちらの記事は簡易版ということで、コードの詳細は触れずに「とりあえず日々のcommitをtwitterに反映したい!」という方を対象としています。
コードの中身を詳しく知りたい方は、詳細版を投稿予定ですのでそちらをお待ちください。# Bot作成の前に
本Botは毎日00:00にGitHubActionを定時で動かし、前日のPublicRepositoryの総commit数を算出するBotです。
Bot作成の前に以下の情報の取得をお願いします。## Twitter 投稿について
TwitterBotの作成には、**事前に以下の情報が必要です**。
– APIKey
– APIKeySerc
backlog.com に登録した課題を Azure DevOps に転記するコードを書いた
backlog.com の登録課題を Webhook で Azure Functions で捌いて Azure DevOps に連携するコードを書きました。

あまり見せられるコードでもないですが、ここに置いておきます。
https://github.com/nnashiki/bklg2devops-func
# 開発のモチベーション
[LIGHTz](https://www.wantedly.com/companies/company_7845665) では SaaS プロダクトを展開する予定です。
CS チームは CS に適した backlog.com を使って管理したいし、開発チームは Azure DevOps を使いたいです。
開発チームは問い合わせに対して機敏に対応したいが、なるべく Azure DevOps でチームのアサイ
GKE(Kubernetes)でTODO管理Linebot を作った話 【Flask, Python】
# はじめに
業務でKubernetesで運用しているシステムの開発と運用に携わってきました。0からKubernetesのシステム全体を構築する機会はなかったのでこれを機に簡単な**Flaskを使ったLineBotをGKE上で構築しました。**個人制作における簡易的なLinebot作成の目的であれば、[Cloud functions](https://cloud.google.com/functions/docs/concepts/overview?hl=ja)や[AWS Lambda](https://aws.amazon.com/jp/lambda/)などサーバーレスな技術的を用いて迅速にデプロイできるため、Kubernetesを使うのは少しオーバースペックに思うかも知れません。
今回は、Kubernetes(on GKE)を使って0からシステムを構築し、**Kubernetesを使ったアプリの全体像を把握したい**こと、及び、Kubernetesの各オブジェクトへの理解を深めることを大きな目的としています。とはいえKubernetesを採用するメリットもあり代表的には以
Microsoft社製AutoMLツールFLAMLが便利すぎた!
## はじめに
本記事ではMicrosoft社製のAutoMLツールであるFLAMLについて数ヶ月使用してみたので、使用感や私が考える効果的な使い方などと共にご紹介したいと思います。
AutoMLツールはいろいろ出てきていますが、その中でもFLAMLは使いやすく拡張性の高い印象です。特にAzureを使っている場合はメリットも大きいでしょう。
日本語の記事が少ないようなので、本記事がFLAMLを使う上で参考になれば幸いです。
## FLAMLとは
最初に紹介した通り、FLAMLはMicrosoft社製のAutoMLツールです。
https://microsoft.github.io/FLAML/
AutoMLと一言で言ってもいろいろありますが、FLAMLはxgboostやlightgbmなど複数の機械学習アルゴリズムの中から最適
Google Homeを喋らせたい人のメモ
## Google Homeとおしゃべりするための調査
– [RaspberryPi+GoogleHome+Webカメラで顔認識でお出迎えしてくれるGoogleHomeを構築する](https://qiita.com/sey323/items/65c41264bd1ca9b765a0)
– [Pythonを使って、Google Homeに喋らせてみる](https://qiita.com/attakei/items/c5de47f3c1f53992c353)
– [Python 3 から Google Home に喋らせる(低遅延)](https://qiita.com/rukihena/items/8af9b8baed49542c033d)
– [Webサーバ不要!PythonでGoogle Home(Nest)に任意のテキストをしゃべらせてみる](https://makitat.com/wp-1/2020/google_home_speak_by_python/)どうやら、pychromecastというものを使えば、PythonでGoogleHomeが制御できるらしい。
#
pypyはC言語並に早かった(素数編) cython-annotationの例有
Pythonが大好きなのですが、処理が遅くて頭を悩ませています。
どうにか早くならないかとpypyとcython(pure python mode)でやってみました。
…すみません、ソースコードはこちらの方のを使わせていただきました。
https://qiita.com/L_A_P_119611/items/40f6c71c136fbe3cf32a## 環境
MacOS: catalina
CPU: i9
– それぞれ3回計測した結果を載せています。## pythonの結果
python3.9での実行結果は下記通りでした。
(arrangeをnumpyのに変えたら早くなるのだろうか…)
python3 src_sosu1.py 123456789
123456789 = 3 * 3 * 3607 * 3803
所要時間は39.019531秒です
所要時間は34.007243秒です
所要時間は35.707815秒です## javaの結果
java Factrization 123456789
123456789 = 3803 * 3607 * 3 * 3
所要
list=[1,2,3,4,5,6]という6つの値からなるデータの中央値の表示方法
[code]
import pandas as pd
list=pd.Series([1,2,3,4,5,6])
print(‘最小値’,list.min())
print(‘中央値’,list.median())————–
最小値 1
中央値 3.5
1~10000までの素数をグラフで表す(Python)
# 概要
アルゴリズムを使ってある数までの素数を見つけ出し、配列に詰め込んでいくコードです。
ついでに素数をグラフにして可視化しました。“`Python:sosuu.py
from numpy import linspace
import numpy as np
import matplotlib.pyplot as plt
import randomN = 1000
def factor(N):
x = 2
insuu = []
sosuu = 0
while x <= N ** 0.5: if N % x == 0: insuu.append(x) else: pass x += 1 # print(insuu) if insuu == []: sosuu = N if sosuu != 0: return sosuu else:
中央値、四分位点を求める関数(Python)
# 概要
その名のとおりです。中央値や四分位点を求めるだけの関数です。
例えばBellCurveの統計Webなど、統計の本やサイトでよく出てきますが、データがたくさん与えられて、それの中央値や四分位点を求めなさいって問題、単純に数えるのが面倒くさくないですか???
そんなものはPCに任せて一瞬で出せば良いんです。“`Python:mode.py
import numpy as nparray = [56, 48, 78, 81, 86, 71, 72, 88, 46, 47, 89, 58, 43, 79, 48, 41]
array.sort() # 昇順に並び替え
print(array)def mode(array):
mode_index = (len(array) – 1) / 2
if len(array) % 2 == 0:
# 中央の二つの値の平均
mode = (array[int(np.floor(mode_index))] + array[int(np.ceil(mode_index))]) /
UNITYでマシンラーニングについて学ぶ
みなさん、こんにちは。現在**ONETECH**で働いている**Nguyen Minh Hieu**です。共有をモットーに学習しています。 今日は、**Unityで機械学習**(マシーンラーニング)を適用するためのちょっとしたデモを作成する方法を皆さんと共有したいと思います。
## UNITYでマシンラーニングについて学ぶ
**Unity**(ユニティ)では、**ML-AgentsToolkit**を通じてマシンラーニングを設定できます。この記事では、環境をインストールしてゲームに適用するトレーニングモデルを設定する方法を説明します。
## インストール手順
**ステップ1**:Unity Engineをインストールする (2020.3以降)**ステップ2**:Pythonをインストールする(3.6.1以降)
**ステップ3**:以下のプロジェクトのクローンを作成します: [https://github.com/Unity-Technologies/ml-agents](https://github.com/Unity-Technologies/ml-agents)
*
yolov5をWindows10のAnacondaで簡単に試す(coco128.yamlのReaderError対応有り)
yolov5をWindows10のAnacondaで簡単に試したのでメモ。
# 仮想環境の構築
“`bash
$ conda create -n py39_yolov5 python=3.9
“`# 仮想環境にログイン
“`bash
$ conda activate py39_yolov5
“`# 作業用ディレクトリを作成
これは必要に応じて
“`bash
mkdir yolov5_src
cd yolov5_src
“`# yolov5のソースをclone
“`bash
$ git clone https://github.com/ultralytics/yolov5# ディレクトリを移動しておく
$ cd yolov5
“`# 必要なモジュールのインストール
“`bash
$ pip install -r requirements.txt
“`# サンプルの認識
“`bash
$ python detect.py –source data/images/bus.jpg –conf 0.5 –weights yolov5
FPGA(Pynq/ZYNQ)でプログラム(C/C++)を動作させるまでの手順
#0. 概要
C/C++で作成したプログラムをFPGAで動作させるチュートリアル。登場人物と彼らの役割は以下。
* VivadoHLS
高位合成用のソフトウェアで、C/C++で作成したプログラムをFPGA用の言語であるVerilog/HDLに変換してくれる。* Vivado
Verilog/HDLをBitstreamというFPGA言語にコンパイルしてくれる。
一般的なCPUアーキテクチャでいうとアセンブラがVerilog/HDL(RTL: レジスタ転送レベル)に対応する。マシン語がBitsteramに対応。* Zynq
FPGAとCPUが1枚のボードに実装されている。このような形式をSoCといってARMのCPUからFPGAへアクセスできるのが利点である。これにより、CPU上でLinuxを動作させ、デバイスドライバを用いてFPGAへアクセスすることができる。
また、FPGAのメモリ空間をCPU(メモリ)にマッピングすることができるため、CPUの使用感でFPGAが使える。C/C++で作成したプログラムをFPGAで動作させる全体の流れは以下。
* C/C++を
MLflow tracking 備忘録
# MLflow tracking 概要
機械学習を行う際のハイパーパラメータや評価指標のログをとり、管理を楽にするツール# 基本となる使い方
以下ではpython APIについての説明をする。
### インストール
“`
pip install mlflow
“`### code
“`
import mlflow# 処理を記述
lr = ~
model = ~
loss = ~# MLflowでのログ
with mlflow.sart_run():
mlflow.log_param(‘lr’, lr)
mlflow.log_metrics(‘loss’, loss)
mlflow.pytorch.log_model(model, ‘model’)
“`### code解説
* with mlflow.start_run():
* このコードブロック内でログの記述をする
* mlflow.log_param(‘lr’, lr)
* パラメータの保存(学習率等のハイパラ)
* mlflow.log_metrics(‘los
【Python】Pythonの型名が覚えられなかったのでメモ
Java, Rubyの実務経験があり、Pythonも覚えてみたいと考えた今日このごろ。
型の種類と名前が全く一致しなかった戒め。下記のフォーマットで自分用にメモ
###### 大枠のジャンル
“`
・Pythonでの呼び方
・Java, Ruby(他覚えやすかったキーワードなど)での呼び方※あれば感想など
“`###### 数値
“`
・int
・整数・float
・小数点※散々やってきたので大丈夫。小数点の計算 ^ Javaのときは「BigDicimal」を使わないとダメだぞ!と怒られた記憶がある
“`###### 論理
“`
・bool(Yes / No)
・boolean
“`###### 文字列
“`
・str
・String※大した違いじゃないからまぁいいんだけど、こういう微妙な違いがあると困るよね。
“`###### シーケンス
“`
・list
・ArrayList(Java)(後から追加できるからArrayListで覚える)・tuple
・list(配列)(後から変更できないからlistで覚える)