2017-01-01から1年間の記事一覧
コードは以下の通り。 Tensorflow・Kerasを使ってmnistの訓練を行う from keras.models import Sequential from keras.datasets import mnist from keras.layers.convolutional import Conv2D from keras.layers.pooling import MaxPooling2D from keras.lay…
Tensorflow・Kerasとは(ザックリ) Tensorflowはpythonで使える機械学習のためのライブラリ Kerasは更にラッパーライブラリで、Tensorflowだと数百行かかるコードが数十行で済んだりする。 インストール方法 とりあえずpipで入れてみる。 $ pip install -U te…
7章 - 畳み込みニューラルネットワーク CNN(Convolutional Neural Network)は、畳み込み層、プーリング層からなる学習方法 基本的にはconv→relu→conv→relu→...→pool→conv→relu→conv→relu→...→pool→affine→softmaxの流れ conv→relu or conv→relu→poolが隠れ層…
6章 - 学習に関するテクニック 勾配法の種類 勾配法の種類はSGD, Momentum, AdaGrad, Adamがある。(AdaGrad,Adamが学習スピードが早い) 重みパラメータと活性化関数での出力値 重みパラメータの初期値は小さくすることで過学習を防げるが、0にすると各層で…
4章 - ニューラルネットワークの精度を高めるためには 損失関数 ニューラルネットワークで出力された結果に対して、損失関数を使ってニューラルネットワークの精度の悪さを求める。 損失関数の引数は、ニューラルネットワークの出力結果と、正解ラベル(教師…
最近オライリー社から出版されている「ゼロから作るDeep Learning」を読み始めた。 数学の知識がない僕には結構難しかったので、備忘録として要点をまとめていこうと思う。 1,2章に関してはpythonの話や、ANDゲート等の基本情報的な内容が多いので、ここでは…
railsにもインターフェースはないのかな?と思い調べてみると、 ポリモーフィック関連というものを使うそうです。 例として、Article、Eventという二つのモデルを用意し、 その両方ともにCommentモデルをhas_manyの関係で保持させたいとします。 テーブル定…
チャットとかchat(チャットルーム) has_many chat_messages(チャットのメッセージ)みたいなテーブル構造になると思うが、 この時、チャットルームをメッセージが来た順に並び変えたいとかあると思う。 メッセージの投稿日時がmaxのもので比較してソートする…
普通にjavascriptでalert()を使うと味気ないアラートウィンドウしか出ないが、sweet alertを使うと簡単に綺麗なアラート画面を出せる。 jQuery依存でなくプレーンなjavascriptで使用できる。 導入 npmでも公式サイトでjsとcssを落とすでもOK。 落としてきた…
なにかとモーダルが使われているサービスが多く、気になったので調べた。 z-indexを使ってモーダルと、モーダルの後ろの画面を隠すためのオーバーレイを前面にするのがポイント。 あとはボタン押下でdisplay: noneを解除してあげればOK。 <html lang="ja"> <head> <title>test</title> <link href="test.css" rel="stylesheet" type="text/css" /> </link></head></html>
はじめに Railsでは便利なログイン機能を実装してくれるdeviseやsorceryといったgemが存在します。 導入するだけでsign_inやsign_outといったログインに必要なメソッドを自動的に生成してくれますが、 カスタマイズをする場合には、内部のソースを解読する必…
railsでpost送信を行う際に、画面を経由しないリクエストには422が返却される。 これはrailsのCSRF対策である、ActionController::Base.allow_forgery_protectionがtrueになり、ApplicationControllerの protect_from_forgery with: :exceptionで、CSRFチェ…
direnvを使って、そのディレクトリ下でのみ有効な環境変数を設定する。 前提mac。 $ brew install direnv インストール後、.bashrcまたは.bash_profileに以下の1行を追加 # bashの場合 eval "$(direnv hook bash)" あとは環境変数を設定したいディレクトリ…
ifを使用した条件分岐 例えば、bという項目がtrueの場合のみaの値は必須にしたい、とかあると思う。 with_optionsメソッドを使用して以下のように実装することができる。 class Post < ActiveRecord::Base # ifオプションで条件に合致する場合のみvalidates…
modelに記述する。 class Post < ActiveRecord::Base enum status: { created: 0, drafted: 1, canceled: 2 } end こうすることで、Post.statusesとして、各Enumにアクセスすることができる。 pry(main)> Post.statuses # => {"created"=>0, "drafted"=>1, "…