開発環境で構築するので分かり易くプロジェクトにdevを付加した名前を設定。RDS(データベース)もVPC環境の両方ともチェックを入れ、一緒に構築しちゃいます。構成の詳細が出ますので、利用するアプリの容量などを計算して適宜変えて下さい。EC2のキーペアに関してですが、キーペアはEC2にリモートログインするために必要となります。SSHなどで接続する場合などは設定しておきましょう。キーペアはEC2のコンソール画面のキーペア項目から新規に作成しておきます。※キーペア作成時に自動でダウンロードされる.pemファイルは大事に保管して下さい。後でリモートログインする際に必要になります。ヘルスレポートは変更せずにそのまま次へ。環境タグも何もせずに次へ。RDSにはmysqlを選択しました。バージョンやインスタンスクラスなど適宜変更して下さい。VPCの設定では全てにチェックを入れて次へ。アクセス権限はそのまま次へ。確認画面が出ますので、問題なければ起動を押します。起動ボタン押下後は環境を作成中の画面となります。この処理に数分掛かります。出来るかドキドキです。数分後、できました!!完了後は、実行するアプリケーションをアップロードします。「アップロードとデプロイ」ボタンを押します。ファイルを選択でcakephpのフォルダを圧縮したzipファイルをアップロードします。バージョンラベルは分かり易いように日時等の値を付加して管理します。デプロイに少々時間が掛かりますが、完了後に指定のURLをクリックすると、、、アップロードしたアプリケーションが表示されました!ここまで色々と書きましたが、慣れればアプリケーションを表示するまで30分も掛からずにWEBサーバーを構築できます。Beanstalkではバージョン管理も自動で行ってくれるので非常に便利です。Beanstalkを構築するだけでEC2やRDSが自動で構築されているので、細かい設定を必要としない場合はあっという間にクラウド環境が構築できます。EC2やRDSの設定をいじることも可能ですので、自分のアプリケーションに合ったカスタマイズをすることができます。なんとなくクラウド環境を構築しようと思っている方がいたら、とりあえず試してみると良いかもしれません。(土)3行でインストール!機械学習フレームワーク「Darknet」を試すこんにちは。このブログでもご紹介したとおり、TensorFlowやってみたり、Caffeやってみたりしてきました。こちらのブログで、もっと簡単に導入できるフレームワークがあると知りましたので、今回はそれを試してみます。その名も、「Darknet」!!ウェブサイトもダークな感じです。魔法陣が黒魔術っぽい。イメージはあれですが、導入は簡単です。なんと、以下の3行を実行するだけでインストール完了です。makeインストールしただけでは寂しいので、試してみます。Darknetは学習済みモデルとアルゴリズムの配布もしています。これをダウンロードしてくれば、簡単に動かすことができます。今回は「YOLO」という、物体認識を試してみます。こちらもコマンドはダウンロードして実行という2行だけです。data/dog.jpgモデルと一緒に配布されるサンプルですが、ちゃんと物体認識されています。他の画像でも試してみます。14.04のマシンで約8秒かかりました。Onlyで試したのですが、GPUもサポートしていて、Makefileを1行書き換えるだけで使えるそうです。結果はこうなりました。下段真ん中のネコの模様もネコとして認識されちゃってますが、ある意味正解ですね。Darknetは手軽にインストール、実行まで出来て驚きました。(火)Prottを使ってみた今回は便利ツールのご紹介です。現在開発を進めているプロジェクトで、画面設計を行った際にProttというプロトタイプを作成できるツールを使ってみました。https://prottapp.com/ja/インターネット上で利用できるツールで、手書きで書いたものやExcelで描画したものを画像として取り込み、ボタンを押した際などの画面遷移を作成します。簡単に手書きしたものを元に例を示します。手書きしたものがこちらです。ログインして一覧を表示し、新規追加をする流れです。この4つの画面を1画面ずつ写真に撮り、prottに画像として追加します。追加した画像にそれぞれアクションを設定します。ログインボタン付近をマウスで選択して、ボタンを押した際の遷移先を指定します。すごく簡単に遷移の設定ができます。遷移する際の効果を選択できたり、オーバーレイ表示も可能です。全ての画面に設定をし、プレビューをしてみます。何もないところをクリックするとアクションを設定した部分が青く光ります。どこを押すといいかが一目で分かります。こんな感じで画面の流れを簡単に確認することが出来ました。お客様への確認は、このprottで作成したものを見せることで、出来上がりのイメージが明確になると思います。イメージが明確になることで要望も明らかになり、より完成度の高いものを作ることが出来ます。社内の開発においても、各メンバー間の意識の擦り合わせに利用できますし、このプロトタイプをそのまま詳細設計の仕様書として利用することも出来そうです。世の中便利なツールがありますので、開発の負担軽減のためにも色々と使ってみてご紹介していきたいと思います。今回はプロトタイプを作成するprottを紹介しました。ちなみに料金は無料(プロジェクト1つのみ)からありますし、30日間のトライアルもありますので、とりあえず使ってみる価値ありです。(水)【AI】Kerasで「吾輩は猫である」調の文章を自動生成してみるこんにちは。最近はGoogleのライブラリTensorflowでディープラーニングの検討を行っています。そのKerasのサンプルコードが豊富なので1つご紹介します。Documentation今回テストしたサンプルは、文章の自動生成を行うものです。利用したコードはこちらです。このサンプルは、まずあらかじめ何らかの文章(10万文字~100万文字程度の文章が好ましい)の文字の並びをディープニューラルネットワークで学習しておきます。学習したディープニューラルネットワークに十数文字の文字列を与え、その文字列に続く文字を1文字ずつ逐次的に生成していき、自動で長い文章を生成してみる、というものです。このサンプルは、もともとはニーチェの文章が付属されており、英語なのですが、今回は日本語の文章を学習させてみました。追記しておく以上のようにすると日本語でも問題なく学習できました。今回は「吾輩は猫である」の全文を学習データとして与え(32万文字程度)、全文を学習後、ディープニューラルネットワークに「吾輩は猫である。名前は」という文字列を与えた後にそれに続く800文字を自動生成してみる、ということを試しました。それでは、実験結果です。繰り返し学習1回目のディープニューラルネットワークで文章を自動生成したものです。名前はないがであな遝をているにでしていかの刿にしてしたいまないったすいしたいしたも君の逍にするのしてしたかでもって吠ににめたったしていいいすないいいいあいかないっていていていているないえ、こであるないしてあるないいであからこんにに囮鉍でそないにだるないしたないいして蹚ったいまいたあっていかあって形っていたってあって出に君がいしていていていていていかであるないいかを慥ていたこでそうであかかすってかかいはするしど壝の吋札に君していたのそのはそと一人だの事は循って遣たしていかこで徳ったたあかね、吾ななとうったもだいましていたがますいしとはたまだ学習がすすんでおらず、ランダムな文字の並びという印象を受けます。次に、繰り返し学習50回目の結果です。学習するのに数時間かかりました。名前はこれでは大変形姻の時に妙な人には見ている。この癖にビールを平生の名前である。それだから、そうして来たなと思う。この光当体誔を知らないのから仕方がない。しているのではない、悪るいものだが、そうなる。這入ってると云って、この時つではないのである。「ただてい事は今日はこの後のごとく、そうでございます。この度の方が十入の方ですね」「そうですね。その通りと先へ取りている。その大譂のは本任者はとこの眼もない。その冗談だと云う大従の邒を挨ひ見ているのだから飛んだのだから、実読だのかく大変だ。日本語のような文字の並びになってきましたが、やはり中身が変です。最後に、繰り返し学習185回目の結果です。学習するのに丸一日かかりました。