Help us understand the problem. What is going on with this article?
MMdnnとは? Microsoft Researchにより開発が進められているオープンソースの深層学習モデルの変換と可視化を行うツールです。中間表現を経由することで様々なフレームワーク間でのモデルデータの相互変換を実現しています。 これはものすごいパワーを秘めていそうな雰囲気です。 github:Microsoft/MMdnn サポートしているフレームワーク 上記githubのサイトに詳細な表や説明があるのでここでは簡単に。 以下のフレームワークでモデルの相互運用が可能になります。 Caffe、Keras、Tensorflow、CNTK、MXNet、PyTorch、CoreML ONNXへの変換もサポートしていますが、こちらは一方通行で、ONNXから別形式は未対応らしいです。 テスト済みのモデルとしては、 VGG19、Inception v4、ResNet v2、SqueezeNet あ
サビ猫かわいいよね? でも、世にあふれてる猫雑誌にサビ猫いなくない? 特に表紙 もくじ 学習用画像を集める(ココ) 猫のご尊顔を検出 学習 猫雑誌の表紙画像を集めて判定 開発環境 Mac Pro (Late 2013) 3.5GHz 6Core XeonE5, 64GB DDR3, OSX Yosemite 10.10.5 Python 3.6.6 Tensorflow 1.9.0 Keras 2.2.0 画像集め Bingの画像検索APIを使って画像を大量に収集する スクレイピング初心者がpythonでかわいい猫ちゃん画像をコマンド一発でネットから収集してみた を参考に、Bing と Excite 2つのサイトから画像を集めた(全コードは末尾に)。 分類カテゴリともなる検索ワードは「cat」に続けて14通りの毛色の単語を投入。(例:cat redtabby) Bingの画像検索では「写真
もくじ 学習用画像を集める 猫のご尊顔を検出(ココ) 学習 猫雑誌の表紙画像を集めて判定 猫のご尊顏を検出 「1」で集めた画像を何も考えずKerasに突っ込んだら、画像の水増ししても accuracy 0.5 ほど。 ぐぬぬ... 「そーだ!画像から猫だけ検出しよう!猫でない画像も弾かれるはず!」 そこでとても有名なこの記事、素晴らしいです。 ねこと画像処理 part 2 – 猫検出 (モデル配布) 配布いただいているモデルと検出のプログラムを使い、猫のご尊顏が検出された領域をクリップして保存した。 imagefilename:入力画像ファイル cascadefilename:上記でお配りいただいているOpenCVで読める学習済モデル.xmlファイル(cascade.xml) 検出条件は全てデフォルト、保存領域は検出結果より縦横10%づつ増量した(次の画像水増しで動かすため)。 下記のコー
from PIL import Image import sys import os, glob import numpy as np import random, math def create(input_dir) : Image.LOAD_TRUNCATED_IMAGES = True categorys = [] dir_list = os.listdir(input_dir) for index, dir_name in enumerate(dir_list): if dir_name == '.DS_Store' : continue categorys.append(dir_name) image_size = 160 train_data = [] for idx, category in enumerate(categorys): try : print("---", c
もくじ 学習用画像を集める 猫のご尊顔を検出 学習 猫雑誌の表紙画像を集めて判定(ココ) いったれ! 学習用画像を集める 猫のご尊顔を検出 に従って、猫雑誌の表紙画像を集めて、顔を検出した。 まず表紙 そして、こう 「3」で作ったベストモデルを使って判定。 シェルのfor文で、ご尊顏ファイルを引数に与えて使うスクリプト。 元データのディレクトリ構成からカテゴリ名を取ってて、ディレクトリ名をベタ書き...(catimages) import training as train #import 3.'s training.py import sys, os from PIL import Image import numpy as np if len(sys.argv) <= 1: quit() image_size = 160 source_dir = "catimages" categor
マルチクラスのセグメンテーション 複数クラスのセグメンテーションを行おうと思って調べてみたが、 多くのモデルが、pixel単位に対して、各クラスの確率を出力し、 そこから、ピクセル毎に、「この位置は、〇〇だ」という形式をとる実装だった。 が、よく考えてみると、 自分たちって画像や風景をみた際に、「おっこの位置は、〇〇。あの位置は、△△」なんて言わなくね? どっちかって言うと、 「あの辺に〇〇があって、あの後ろには、△△」みたいな、ある種レイヤー的な捉え方しない? と思い、 pixel単位に対して、各クラスの確率を出力 ではなく、 クラス毎のセグメンテーションマップを出力 って形でできないかとやってみた。 クラス毎のセグメンテーションマップを出力 これの場合、うまくいって、学習データをちゃんと用意できれば、重なり合った領域に対しても、(おそらくこうあるはずという形式になるかもしてないが、)セ
はじめに この記事は、前記事からの続きです。 詳しい話は、そちらを。 改良 (1) ということで、惜しい感じにはなったが、 今回の条件では、2クラスしか対象にしておらず、そこに対して、RGBの3channelを出力しようとしており、どのクラスにも対応していない(=対象物がない)G channelが、うまく学習できなかったんじゃないだろうか 2クラスでも、この2クラスでRGBの全channelを使う様な設定 (例えば、1クラス目を(255, 255, 0)、2クラス目を(0, 255, 255)にするなど) すれば、うまく行くのかもしれないが、なんかそれは、嫌だった(ほんとになんとなく、負けた気がして。) RGBの3色出力にするとして、クラス数が3以上でも、使わない色素があるかもしれないじゃないか! という思いもあった。(たぶん) ということで、 なんとかならないものかと思い まず考えたのが
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事は、前前記事、前記事からの続きです。 詳しい話は、そちらを。 改良 (2) 前回は、未使用なGチャンネルに、無視できる小さな値を入れて学習させてみたがうまくいかず、 全体で値がフラットになっているのが問題なのかと思ったので、 今回は、教師データに強制的に値の差をつけてみたらどうかということで、 教師データ(画像)の4辺を最大値で埋めてみることにした。 学習 (2) 前回からの変更点は、 教師画像に対して、各4辺の1pixel幅を255(/255)で埋めて、学習する様にした点。 それ以外は、前々回と同じにして学習。 結果
time_steps = 1010 a_s = 0.3 b_s = 0.5 a_t = 0.3 b_t = 0.3 c_s = 0.1 c_t = 0.1 T_0 = 100 T_s = 10 T_t = 50 data_s = [] data_t = [] for t in range(time_steps): data_s.append(a_s * np.sin(2 * np.pi * t / T_0) + b_s * np.sin(2 * np.pi * t / T_s) \ + c_s * np.random.normal()) data_t.append(a_t * np.sin(2 * np.pi * t / T_0) + b_t * np.sin(2 * np.pi * t / T_t) \ + c_t * np.random.normal()) show_steps = 2
背景 Keras (Tensorflow backend)で一台のパソコンに載っている複数GPUでトレーニング処理を回すとき、中間結果(チェックポイント)のモデルを、keras.callbacks.ModelCheckpoint関数をコールバック関数に設定して定期保存しようとしたとき、以下のエラーが発生。 Epoch 01000: saving model to ./log_Stacked_Hourglass_Network_v1_320x240_fp16_3rd_multiGPU/weights.1000-0.0039607391-0.0131516113.hdf5 Traceback (most recent call last): File "train_customized_SHN_resume_baobab_fp16_1stack_multiGPU.py", line 304,
ディープラーニングを学ぶ最初の一歩としてTensorFlowのインストールとチュートリアルにあるKerasハイレベルAPIを使った基本的な分類のサンプルを試したので資料としてまとめてみました。(資料としてはもはや何番煎じかもわからないぐらいですが...) まだまだ理解も浅いため説明はかなりざっくりです(;´Д`) コマンドはRaspberry Pi 3BにRaspbian9.0がインストールされた環境で実行しています。 インストール手順およびコードサンプルは2018.08.23時点の公式サイトから引用したものです。[1][2] Attribution Portions of this page are modifications based on work created and shared by Google and used according to terms described
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? タイトルと同じことを心でつぶやいている人は結構いると思います。 当記事では、「どんな仕組みで動くのか」ではなく、「どうすれば動くのか」に焦点を当てています。 飛行機はどんな理屈で飛ぶのか、ではなく、飛行機はどう操作すれば飛ぶのか、という感じです。 要するに何すりゃいいの 端的に言えば次の通り: 学習済みモデルを用意 プロジェクトにTensorFlowのライブラリを追加 TensorFlowInferenceInterface をnewして学習済みモデルを読み込ませる 画像とかを配列化してTensorFlowInferenceInterf
pooling関連sub-class一覧 AveragePooling1D AveragePooling2D AveragePooling3D AvgPool1D AvgPool2D AvgPool3D GlobalAveragePooling1D GlobalAveragePooling2D GlobalAveragePooling3D GlobalAvgPool1D GlobalAvgPool2D GlobalAvgPool3D GlobalMaxPool1D GlobalMaxPool2D GlobalMaxPool3D GlobalMaxPooling1D GlobalMaxPooling2D GlobalMaxPooling3D MaxPool1D MaxPool2D MaxPool3D MaxPooling1D MaxPooling2D MaxPooling3D よく見ると、名
結論 UbuntuとNvidia-docker2を使うことで、GPU付きPCにおいて、Keras(Tensorflow)を利用可能なPythonプログラム環境を超簡単に構築できる! 環境 ・Ubuntu 18.04 ・GeForce GTX1080 すること ・NVIDIAドライバのインストール ・docker-ceのインストール ・Nvidia-docker2のインストール ・コンテナ内で、GPUを使って、Kerasでプログラムを動かす。 (ネットの記事によっては、ホスト側にCUDAをインストールしているが、コンテナ内で実行するにあたって必要ないようだ。) はじめに CentOS7にTensorflow-gpuを使える環境を構築したことがあるものの、そのときはドライバーを入れたり、CUDAを入れたりで1日を費やした。ネットの情報を見ると、UbuntuとNvidia-dockerで簡単に環
# generate toy data n_s = 1000 n_t = 1000 n_classes = 3 p_s = [0.4, 0.3, 0.3] p_t = [0.4, 0.3, 0.3] mu_s_1 = [0.0, 0.0] sig_s_1 = [0.2, 0.2] mu_s_2 = [0.0, 1.0] sig_s_2 = sig_s_1 mu_s_3 = [0.5, 0.5] sig_s_3 = sig_s_1 mu_t_1 = [2.8, 1.3] sig_t_1 = sig_s_1 mu_t_2 = [1.7, 0.3] sig_t_2 = sig_s_1 mu_t_3 = [2.0, 1.0] sig_t_3 = sig_s_1 y_s = np.random.choice(n_classes, n_s, p = p_s) y_s_one_hot = np.iden
1日目 Kaggleにサインアップ〜Competitionに登録 https://www.kaggle.com/ Googleアカウントなどがあれば簡単にアカウントは作成できます。Competitionに参加するまでは以下の記事が参考になったので掲載させていただきます。 Kaggle事始め https://qiita.com/taka4sato/items/802c494fdebeaa7f43b7 ↓ログイン後のトップページ ↓コンペティション一覧ページ コンペを選んで「Join Competition」をクリックし、規約に同意すると参加完了です。 参加した「Home Credit Default Risk Competition」は、2018/8/29 11:59 PM (UTC)が最終締め切りでした。 https://www.kaggle.com/c/home-credit-defau
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く