この記事は、初めて機械学習に触れる初心者を対象に書かれています。 Anaconda Navigaterを使おう Anacondaを使用したPythonのインストール(3.6) https://www.anaconda.com/download/#macos Anaconda Nabvigaterで新しいユーザーの作成をしよう 仮想環境ごとにパッケージを管理することで、バージョン管理ができる Jupyter Notebookを使ってみよう。 Jupyter Notebookとは? 仮想環境を提供してくれるやつ。ここでPythonの命令が打てます。 インストールするには 実行環境のJupyter Notebookのインストール 上記でインストールしたAnaconda Nabvigaterからインストールしてください。 TensorFlowのインストール Anaconda NavigatorのE
Kerasでちょっと複雑な計算をしようとすると、Kerasのバックエンドで定義されている関数だけでは物足りなくなることがあります。そういうときは豊富なTensorFlowの関数を使ってみましょう。TensorFlowの関数を使ったKerasのカスタムレイヤーは意外と簡単にできたので紹介します。 Kerasのバックエンド関数は実はTensorFlow関数のラッパー Kerasはバックエンドにより処理系統が異なりますが、TensorFlowがバックエンドのときはTensorFlowの関数をそのまま返しています。TensorFlowがバックエンドのときのソースコードを覗いてみます。こちらにあります。 例えば絶対値を返すバックエンド関数K.abs()はこんな定義になっています。 def abs(x): """Element-wise absolute value. # Arguments x: T
釣りが趣味で、よく黒鯛(チヌ)、キビレ(キチヌ)を釣るのですが、この2魚は姿、形がとても似ています。そのため、素人ではなかなか見分けがつきません。僕は余裕ですが。 上が黒鯛で下がキビレ。ほぼ同じですね。 一番の見分けポイントは下ビレが黒いほうが黒鯛、黄色いほうがキビレです。 釣れたときに、あれ?これ黒鯛?キビレ?どっちだ?ってことがよくあると思います。 そして、キビレは黒鯛に対し味が落ちるため、釣れた時に持ち帰るかリリースするか即座に判断しないといけません。 そこで今回は、この2魚を識別することができるのか、pythonで検証しました。 将来的にはその場で写真を撮って画像をアプリに投げ、判定する。そんなことができたらいいですね。いや、いらないですね。 ソースコード、手順は以下記事を参考にさせていただきました。 ■ TensorFlowで画像認識「〇〇判別機」を作る https://qiit
キーワード Unity, Perception Neuron, モーションキャプチャ, 機械学習, ニューラルネット, Tensorflow モチベーション Unity+Tensorflowといふものを、してみむとてするなり。 結果 Youtubeが開きます。 概要 何番煎じか分かりませんが、Unity+Tensorflowネタがやりたかったのです。 文字認識などはありきたりなので、お題はNARUTOより、十二支の印の判別としました。 具体的な個々の指の形に関しては、Googleの画像検索などでよろしくお願いします。 NARUTO + 印 臨兵闘......と続くものも検索に引っ掛かりますが、子、丑、と続く方です。 学習については画像判定ではなく、モーションキャプチャを用いて取得した値を用います。これは、最終的な利用シーンとしてカメラに正対する想定をしないためです。 印の画像を見比べるに、
Edward2,TFP import tensorflow_probability as tfp from tensorflow_probability import edward2 as ed bag_of_words = np.random.poisson(5., size=[256, 32000]) # training data as matrix of counts data_size, feature_size = bag_of_words.shape # number of documents x words (vocabulary) units = [100, 30, 15] # number of stochastic units per layer shape = 0.1 # Gamma shape parameter w2 = Gamma(0.1, 0.3, samp
※実際記事で紹介する書籍は12冊ですが、メンバーが借りてオフィスになかったため、上記画像内に3冊ないものがあります。 はじめに AI Academyを開発・運営しています、株式会社エーアイアカデミー代表の谷です。 6ヶ月ほど前に書いた下記記事は約1200のいいねと7万viewsを超える記事になりました。 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 お読み頂いた方々、またいいねして頂いた方々ありがとうございました! あれから6ヶ月ほど経ちまして、さらにPythonや機械学習の書籍が増えて参りましたので、改めて初心者向けにPythonと機械学習の良書12選を紹介し、初学者が独学でも機械学習プログラミングの基礎スキルUPに貢献できたらと思います。 また、AIプログラミングを作りながら学べるプログラミング学習サービスAI Academyを無料でご利用頂けますので
自分の備忘録/メモも兼ねて。 画像認識系のDeep Learningする際に、訓練データ(画像)を回転させたり左右反転したり、とデータの水増し(data augumentation)することってよくあると思います。Kerasでは、ImageDataGeneratorクラスを使って簡単に水増しできちゃうわけですが、その際のオプション「brightness_range」の挙動について。 Kerasのbrigtness_rangeとは brightness_rangeは、画像データの水増しの際に、明るさをランダムに変更するオプションです。こんな感じでImageDataGeneratorのコンストラクタに、brightness_rangeのオプションとして、明るさ変更の強度の範囲をタプルかリストで渡すだけです。あとはflowとかflow_from_directoryとかに上記を渡してあげると、ラン
TensorFlowをインストールする際、pipではなくcondaを使うべしという記事。https://t.co/sHbQaqdS1v 必要なcuDNNやCUDAのライブラリも一括してインストールしてくれるようになったばかりか、… https://t.co/g0IVg4cGes
WeightとBiasを見るために Kerasでモデルをsaveしたときにハマったので、一応の自分用のメモ もし抽出で悩んだ人がいれば幸い 例として以下のMNISTの3層MLP(下はFunctional API) # coding utf-8 from __future__ import function import keras from keras.datasets import mnist from keras.models import Model from keras.layers import Dense, Dropout, Input from keras.optimizers import RMSprop (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train = x_train.reshape(60
抄訳 ONNXはNCHW形式のデータを受け付ける 他方通常ビルド形式のTensorflowはNHWC形式のデータしか受け付けない 実際のサーバではGPUを使いたくない MKLを使用するとCPUでもHCHW形式の予測が可能になる tensorflow-serving公式のDockerfileはMKL形式でビルドしていない 公式Dockerfileを改造したら予測が動くようになった 詳細 Pytorchで訓練したモデルをONNX形式にexportしてtensorflow-servingで配信というフローがやりたかった。 公式のDocker Imageを普通にpullすると、config=nativeoptでビルドされたtensorflowを使用することになる為、MKLを導入するにはビルドの仕方を改造する必要がある。 公式のDockerfileからローカルでビルドを行う方法についてはこちらを参照
概要 MacでJupyter Notebook上でTensorFlowを使用できるDocker環境を構築する。 開発環境 [マシン] macOS High Sierra バージョン10.13.6 MacBook Pro (15-inch, 2018) CPU:2.2 GHz Intel Core i7 メモリ:16 GB 2400 MHz DDR4 [ツール] Docker version 18.06.1-ce, build e68fc7a Jupyter Notebook 4.4.0 Jupyter Notebook上でTensorFlowを使用して開発できるDocker環境を構築 Dockerイメージをプル(Python3の最新安定板を使用する場合) その他のイメージを使用する場合はこちら:https://www.tensorflow.org/install/docker?hl=ja
\vec{h_1} = \tanh\left(W_1\vec{x} + \vec{b_1}\right) \\ \vec{h_2} = \tanh\left(W_2\vec{h_1} + \vec{b_2}\right) \\ y = \vec{W_3}\cdot\vec{h_2} \\ という計算を考えます。各変数は $N\times N$行列のパラメータ:$W_1$, $W_2$ $N$次元ベクトルのパラメータ:$\vec{W_3}$, $\vec{b_1}$, $\vec{b_2}$ $N$次元ベクトルの入力・隠れ層:$\vec{x}$, $\vec{h_1}$, $\vec{h_2}$ スカラー値の出力:$y$ という形をしています。 まずは変数を宣言していきます。 ndim = 3 W1 = tf.Variable(np.random.rand(ndim*ndim).reshap
画像関係のKaggleコンテストで、Kerasを使いつつコードを書いていたところ、前処理などで工夫しても厳しそうなレベルでメモリ不足に悩まされました。(しかし、一方で精度を上げるためになるべく多くのデータを使いたい) 他の人はどうやっているんだろう?と他人のカーネルを見ていたところ、KerasのSequentialクラスにfit_generator関数という、バッチ単位でデータを扱ってくれる(=瞬間的なメモリが少なくて済む)関数を使っているようでした。 過去に読んだ書籍だと、この関数は使っていなかったので、触りながら色々調べてみます。 簡単な例で試してみる。 MNISTで試してみます。モデルのコード自体は、以前書いたGoogle colaboratoryを試してみる(Keras & MNIST)のものをほぼそのまま使います。 X.shapeが(60000, 1, 28, 28)、y.sha
#%% from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) URLError: <urlopen error [WinError 10060] 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。> #%% from tensorflow.examples.tutorials.mnist import input_data import urllib.request proxy = urllib.request.ProxyHandler({'https': 'https://path:por
本稿では、KerasベースのSeq2Seq(Sequence to Sequence)モデルによるチャットボット作成にあたり、Attention機能をBidirectional多層LSTM(Long short-term memory)アーキテクチャに追加実装してみます。 1. はじめに 本稿はSeq2SeqをKerasで構築し、チャットボットの作成を目指す投稿の4回目です。前回の投稿では、Bidirectional多層LSTMのSeq2Seqニューラルネットワークを構築しましたが、今回は、これにAttention機能を追加します。 また、これまでの結果では、生成された応答文の内容が今一つだったので、Early stoppingをやめてとことん訓練したら、どの程度ましになるか確認してみます。 2. 本稿のゴール 以下のとおりです。 Attention付きニューラルネットワークの構築と、訓練
dockerで機械学習(36) with anaconda(36)「Learning TensorFlow」 By Itay Lieder, Yehezkel Resheff, Tom Hope機械学習DockerAnacondaTensorFlow小川メソッド 1.すぐに利用したい方へ(as soon as) 「Learning TensorFlow」 By Itay Lieder, Yehezkel Resheff, Tom Hope http://shop.oreilly.com/product/0636920063698.do docker dockerを導入し、Windows, Macではdockerを起動しておいてください。 Windowsでは、BiosでIntel Virtualizationをenableにしないとdockerが起動しない場合があります。 また、セキュリティ
1. Layout Optimizer ソースコード:tensorflow/core/grappler/optimizers/layout_optimizer.cc TensorFlowがデフォルトで採用するデータフォーマットはNHWC形式ですが、GPUに最適なデータフォーマットはNCHW形式です。 このため、GPUで実行するノードについてはNCHW形式のデータフォーマットで実行するように計算グラフを変形することで、GPUで最適な演算が行えるようにします。 なお、計算グラフを変形するときに、必要に応じてNCHW→NHWCまたはNHWC→NCHWのデータフォーマット変換を行うためのTransposeノードを挿入し、計算グラフ内でデータフォーマットの一貫性が取れていることを保証します。 2. Model Pruner ソースコード:tensorflow/core/grappler/optimi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く