Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
AIにりんごを描いてもらった こんな感じ 生成結果(64x64 png) 途中結果 ite0 ite20 ite100 ite200 ite300 ite400 ite500 背景 最近GAN(Generative Adversarial Network)で、いろんな画像を自動生成したり、ポスターも生成するなどの記事はたくさん目に入る。 どこまで出来るかを試してみたかった。 実現の仕方 こちら数字画像生成のgithubソースを参考し、改造した。 [2] わかったこと Convolution Networkの方は、Full Connected Networkより、生成した画像がスムーズ。 Full Connected Networkの場合は、どうしても雑音が入る。 通常のGANはハイパーパラメータに敏感。収束しないことがある。より安定性のあるDRAGANなどは今後試すべき。 Usage gi
VGG16をFine-tuningする際に初めて作られる方も多いと思いますが 出力層の書き方が2種類あったりして分かりづらかったので 対で書きてみました ※functionalで出力層を書いたのはこちらから 参考のスクリプトは VGG16をFine-tuningして5クラス分類するモデルを想定しています 動作概略 1)出力層なしのVGG16のモデルを読込 2)新しい出力層を作成 3)上記2個のモデルを接続 動作確認環境 python3.6.6 Tensorflow:1.10.0 Keras:2.2.2 参考スクリプト # import from keras.models import Model, Sequential from keras.layers import Activation, Dense, Flatten from keras.applications.vgg16 impo
VGG16をFine-tuningする際に初めて作られる方も多いと思いますが 出力層の書き方が2種類あったりして分かりづらかったので 対で書きてみました ※Sequentialで出力層を書いたのはこちらから 参考のスクリプトは VGG16をFine-tuningして5クラス分類するモデルを想定しています 動作概略 1)出力層なしのVGG16のモデルを読込 2)新しい出力層を作成 3)上記2個のモデルを接続 動作確認環境 python3.6.6 Tensorflow:1.10.0 Keras:2.2.2 参考スクリプト # import from keras.models import Model, Sequential from keras.layers import Activation, Dense, Flatten from keras.applications.vgg16 impo
開発環境 jupyterとDockerを使って、Kerasで学習してます。 問題だったこと モデルをロードしてさらに学習させたいけど、エポック数が0からになって上手く保存できない! 100epoch学習したあと追加で100epoch学習させたい! という時にどうしたら良いかわからずハマってしまったのでその解決策 保存されるファイル名を変化させる さて、早速本題です. どうすればファイル名の{epoch:02d}部分を変更させることができるのか. 答えは簡単! model.fitメソッドに引数として 'initial_epoch' を追加すれば良いです. これだけで学習が101epoch目から始まるようになります. モデルをloadしなくなった時にはinitial_epochを0に戻すように気をつけましょう. コールバックとは 学習と一緒に使うと効果的なのが、ModelCheckPointや
表題そのままのスクリプトです VGG16とSVMを使った判別機を作る際に使用したものの一部を切り取り、単独で機能するようにしました 動作概略 1)img2ndarray.pyと同じフォルダ内に保存された画像ファイルを読み込み 2)画像サイズを224x224にリサイズ後、Numpy配列化 3)**[npy]**ファイルとして保存 動作確認環境 python3.6.6 Tensorflow:1.10.0 Keras:2.2.2 スクリプト全体 import glob import numpy as np from keras.preprocessing.image import load_img,img_to_array # image array size img_size = (224,224) # load images Folder dir_name = 'test1' # File
○佐藤健フォルダ ○亀梨和也フォルダ 環境 個人PCは非常にプアな環境なので、コーディング&テストはCPUで行い、本格的な学習はGoogle Colaboratoryを使用しました。 ちなみにGoogle Colaboratoryの使い方ですが、詳しくは他の方の説明を見ていただくとして、ざっくりというと、 Google Driveにコード等が書かれたJupyter Notebookファイルをアップロードする 同じくGoogle Driveに画像ファイルをアップロードする Jupyter NotebookをGoogle Colaboratoryで起動する Google ColaboratoryからGoogle Driveが見えるようにする(ディレクトリのマウントもする) Jupyter Notebookを実行する といった感じになります。 以降は、Google Colaboratory上で実
MMdnnとは? Microsoft Researchにより開発が進められているオープンソースの深層学習モデルの変換と可視化を行うツールです。中間表現を経由することで様々なフレームワーク間でのモデルデータの相互変換を実現しています。 これはものすごいパワーを秘めていそうな雰囲気です。 github:Microsoft/MMdnn サポートしているフレームワーク 上記githubのサイトに詳細な表や説明があるのでここでは簡単に。 以下のフレームワークでモデルの相互運用が可能になります。 Caffe、Keras、Tensorflow、CNTK、MXNet、PyTorch、CoreML ONNXへの変換もサポートしていますが、こちらは一方通行で、ONNXから別形式は未対応らしいです。 テスト済みのモデルとしては、 VGG19、Inception v4、ResNet v2、SqueezeNet あ
マルチクラスのセグメンテーション 複数クラスのセグメンテーションを行おうと思って調べてみたが、 多くのモデルが、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)で埋めて、学習する様にした点。 それ以外は、前々回と同じにして学習。 結果
背景 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,
結論 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で簡単に環
import pandas as pd from os.path import join from sklearn.utils import shuffle emotions = ["happy", "sad", ["disgust", "disgust2"], "angry", "fear", "surprise"] dir_path = "gathering/ja_tweets_sentiment" size = 60000 df = [] for i, es in enumerate(emotions): if isinstance(es, list): for e in es: data = shuffle(pd.read_json(join(dir_path, "{}.json".format(e)))).iloc[:int(size/len(es))] data['label'
from keras.callbacks import Callback, LearningRateScheduler import numpy as np class LearningRateCallback(Callback): def __init__(self, lr_max, lr_min, lr_max_compression=5, t0=10, tmult=1, trigger_val_acc=0.0, show_lr=True): # Global learning rate max/min self.lr_max = lr_max self.lr_min = lr_min # Max learning rate compression self.lr_max_compression = lr_max_compression # Warm restarts params s
はじめに 本記事は、私が独学で学んだ事をまとめている記事です。 CNN については出来るだけわかりやすく噛み砕いて説明していきます。 詳細を知りたい場合は参考URLを貼っておきましたのでそちらをご覧ください。 想定読者 ・CNN をやってみたい人 ・CNN が何をしているかわからない人 上記にも書いてある通り独学のため、間違えている部分がございましたらご指摘のほどよろしくお願い致します。 CNN (Convolutional Neural Network)とは 主に画像や動画認識に広く使われているニューラルネットワークです。 通常のニューラルネットワークと異なる点は、畳み込み層とプーリング層がある点です。 畳み込み層 畳み込み層とは、特徴を抽出している層になります。 上記画像のように、黒い部分の特徴を残しながら縮小することができます。 このような解像度縮小を行っているのが畳み込み層です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く