機械学習
Blazefaceはgoogleの訓練済みのデバイス用の顏/手の認識モデルで速くて高性能なモデル。 役割は顔/手の位置とキーポイントを高速に検出する機械学習モデル。 BlazeFaceはMobileNetをバックボーンをベースにして作られてる。今回はやることは1.tfliteのblazef…
人気の「age gender estimation」とかいう、人間の顔から性別と年齢を予測するモデルを作った時の、テクニックを備忘録として忘れないようにまとめとく。目次 1.Age-gender-estimation model本体 2.後処理での工夫 3.予測結果 1. Age-gender-estimation mode…
SIGNATEの第4回AIエッジコンペに参加したので、そのレポートもかねたログを書こうと思う。機械学習だけじゃなくて、ハードウェアもガチのコンペでした。 目次 1.ネットワークについて 2.C++のアプリケーションコードの工夫について 3.ハードウェアプラットフ…
今回はultra96v2上で学習済みモデルを動かしてみる。この作業がすんなりできれば、論理回路の高位合成とか組み込み部分を除けば、学習済みモデルを作れればドローン制御、自動運転の制御とかいろんなことの礎になる。本家サイト「Ultra96V2向けVitis AI(2019…
今回はTransformerを改造して、文章から音声を生成してみた。俗に言う、エンコーダ・デコーダ形式のモデル。 プロセスが長くなりそうなので、要点だけ備忘録もかねてまとめようと思う。 目次 1.Transformer-TextToSpeechとは? 2.テキスト前処理 3.Transform…
「手押し井戸ポンプ」は、昔から田舎で使われてる「井戸から手動で水をくむポンプ」のこと(Amazonでも売ってる)。「手押し井戸ポンプ」の水をくむまでの大まかな動作は「押す(down)=>水をくむ(push pump)=>あげる(up)」の行動パターンを、シーソーのご…
今回はArduinoに機械学習(AI)を埋め込んで、webカメラから読み込んだストリーミング画像の画像分類結果からカギを解錠・施錠できるシステムを作ってみた。機械学習(AI)をハードウェアで実際に取り込んで作ったのはVitis AI以来、今回がはじめて。Arduino系…
flaskで機械学習の学習済みモデルを入れてkubenetes上で動かしてみた。curlで投げて、予測結果を受け取る形式だけど、envoyとかスケーラビリティも意識した構成になってる。kubenetes上での flask動作環境 目次 1.flaskアプリケーションの作成 2.Docker上でf…
前の記事「Vitis,Petalinuxのインストールから、Vivadoの起動まで【FPGA】-VitisPlatform作りpart2」でVivado, vitis, Petalinuxの環境構築をした。 PetaLinuxの環境構築をしておくことで、linux(PetaLinux)上から直接、ultra96ボードにアクセスできるらしい…
DeepMindが作った世界最強のゲームAIに使われているアルゴリズムが「AlphaZero」の仕組みを利用して、今回は「三目並べ」というゲーム版のAlphaZeroを作ってみた。今回は備忘録として「三目並べ版-AlphaZero」の仕組みを淡々とまとめていく。 目次 1.AlphaZe…
今回はこの前の記事で書いた「signateの天気コンペ」の優勝者(天気の専門家ガチ勢)が実装したモデルを、既存のデータでも予測できる構成で個人的に作ってみた。 convLSTMを使わずにUnetにしたのは「予測」タスクではなく、「パターン認識」タスクにしたか…
オリジナルのデータセットにYOLOv3を使って物体検出した。 一から学習せずに、COCOデータセットの学習済みYOLOv3で転移学習してみたのでその備忘録 目次 1.オリジナルデータセットのclasses.txtと学習済みモデルの作成 2.訓練 3.学習結果 1.オリジナルデータ…
HOGとの組み合わせはSVMが有名だけど、今回はSVMじゃなく「HOG+AdaBoost」を使った。どっちも精度は同じくらいだけど、AdaBoostの方が2回目以降精度が増すし、汎用性が高いのが特徴。 目次 ・訓練データ・テストデータの収集 ・前処理 ・HOG+AdaBoostで物体…
gitコマンドでbranchを作成してPR(Pull Request)を投げるなど、チームでコード管理したのでその備忘録。 git cloneしてPRを投げるまでの branchの流れ 目次 1. PRを投げるまで 2.PR作成作業 3.キレーなコードの書き方PRを投げるまで # コンソールのコマンド…
今回取り組んだプロジェクトは、・sagemakerの組み込みアルゴリズムのセグメンテーションを使って、物体の長さを求めるモデルの作成・CloudFrontで作ったフロント側から画像をPOST→lambda関数→sagemaker→推論→長さ測定→結果を表示する流れのMLops構築 の2つ…
SARという特殊な衛星画像から海氷領域を見つけるsignateのコンペで、その技術・やったこと等のログ。 コンペデータ構成画像 ・train画像:hh 80枚、hv80枚、アノテーション画像80枚 ・Test画像 hh 40枚、hv 40枚、アノテーションなし ラベル構成 ・Not sea i…
signateの雲画像予測コンペに初参加したので、そのログ。 個人の備忘録と技術メモのつもりで簡単にやったことつづってきます。まず結果は17位。1位との精度差は10%くらいだった。初参加にしては上々なできかな。レベル高くて驚いた。コンペのデータ構成デー…
今回は画像から異常を検知するタスクをやった。データセットはドイツの異常検知コンペのデータセット「DAGM 2007」。人が人為的に微細な傷をつけたかなりガチの異常検知用データセット。 精度出すのにやった過程とかを備忘録も兼ねてまとめてく。 目次 1.や…
画像と違って文章から感情を予測すること(emotion prediction from text)は未だ自然言語処理(NLP)界隈では、うまくいった事例が少ない。特に、単純なネガポジ判定ではなく、6感情(怒り、驚き、幸せ、嫌悪、恐れ、悲しみ)を分析する感情分析は、研究が…
Attentionといえば、すでに自然言語処理モデルではなくてはならない存在。 メカニズムは割愛。別名で注意機構とか呼ばれる。Attentionの仕組みは、(個人的に理解してる範囲では)簡単に言うと以下のポイントがある。・人間が特定のことに集中(注意)する仕…
googleの自然言語処理の高性能モデルBERTを使ってfine tuning(転移学習)をやった。BERT用のデータセットではなく、一般に公開されてるIMDBデータセット(映画レビュー)を使用。 2値分類用にBERTモデルを再構築して、ネガポジ判定したので、その過程をまてめ…
今回は論文で紹介されてたNVIDIAが開発したstyleGANを実装してみた。普通のGANとは生成過程も違うし、生成画像の出来の精度も比較にならないぐらい高くて、驚いた。 仕事で使う機会があったので、その生成過程をまとめてく。 目次 1.styleGANについて 2.styl…
よく元画像から別の画像を生成したりするのに使うautoencoderの亜種「Unet」を使ってみた。 今回やるのはadidasのスニーカーを入力して、ロゴを出力するように学習させるタスク。autoencoderを使うのは初めてなので、作業過程などをまとめてく。目次 1.概要 …
今回はgoogle colaboratory(colab)で訓練したCNNの訓練済みモデルとtensorflow.jsを使い、Node.jsのサーバ上で画像分類してみた。Node.jsを使ってjavascript用のサーバを立てたり、javascriptを使ったりと学ぶことが多かった。colab上で訓練→javascript上でm…
今回は音声認識のデータセット「ESC-50」をCNNで分類した。特にこだわったのが、GPUでも普通にやったらOOMエラーが出るくらいの大容量のデータセットを、kerasのfit_generatorメソッドを使ってCPU上でもできるようにしたこと。あとは音声認識は触れたことな…
強化学習はモデルベースとモデルフリーに分類できて、前回はモデルベースの手法をまとめた。 今回はモデルフリーのメインの手法をまとめてく。モデルベースの手法はこちら。 trafalbad.hatenadiary.jp 目次 1.変数、関数、環境、エージェントの定義 2.モデル…
書籍「pythonで学ぶ強化学習」を読んだ。強化学習のアウトプットの機会がないので、とりあえず学んだ内容を備忘録も兼ねてまとめてみた。主に強化学習は「モデルベース」と「モデルフリー」に分類でき、今回はモデルベースの手法のまとめ。目次 1.モデルベー…
メルカリの画像分類で、end-to-endで学習した学習済みモデルを使って、特徴抽出してから、faissで類似画像検索する手法が使われてた。詳しくは語られてないけど、下の図の流れ。 手順でいうとこんな感じ→データセット画像(indexing dataset)とクエリ画像(que…
pythonのフレームワークでflaskが人気みたいだけど、せっかくDjango勉強したし、フレームワーク的に仕組みも同じなので、どうせならDjangoで作ったアプリをGKE上でデプロイしようと思い、やってみた。前回、ローカルで画像の予測ラベルを表示するDjangoのア…
2017〜2018年で頻繁に使ったコードのまとめで、個人的備忘録。 これからも追記はしてきます。pandasQ1.pandasで特定の列だけ演算をする場合下のようなDataFrame(df)で、特定の列('c')を-1する場合。 # df a, b, c, d, e 0 1 2 3 2 2 1 2 2 3 2 1 2 3 3 3 4 4…