JavaScript(ES6)のPromiseを試してみる その1

すっかりご無沙汰してます。 元岡です。 前回はジェネレータについて紹介させて頂きました。 引き続き、コールバックや非同期関係の記事を書いて行く予定です。 今回は、ジェネレータと同じくES6から実装されたPromiseの方も試してみます。 と、その前に… 今年の6月に公開予定の ES2017 には、5つの新仕様が入ります。 Object.values / Object.entries String padding Object.getOwnPropertyDescriptors Trailing commas in function parameter...

Monaca クラウド IDEで簡単アプリ作成

どうも、こんにちは。エンジニアの大塚です。 今回はMonaca クラウド IDEを使用して、簡単にハイブリッドアプリを作成してみたいと思います。 Monacaとは? まず初めに、Monacaとはアシアル社が提供するスマートフォン向けハイブリッドアプリの開発ツール&Webサービスです。 PhoneGap/Cordovaを採用しており、MonacaクラウドIDEや提供のツールを使うことで、XcodeやAndroid Studioなしにアプリ開発することが出来ます。 また、今回は触れませんがUIフレームワークとしてOnsenUIなども提供しています。 クラウドIDEでアプリを作成 Monacaが提供するアプリ開発環境は複数あります。 クラウドIDE LocalKit CLI Visual Studio クラウドIDE以外は、...

ヤフーのSwiftコンバーターを使ってみた感想

4月に入社しました伊東です。 Objective-CのソースコードをSwift3.0に書き換える際にobjc2swiftというコンバーターを使いました。 良かった点 Objective-Cの文法をあまり知らなくてもある程度読めるようになる。 MITライセンスで、githubにオープンソースがあるところ Web版とScalaで書かれたCLI版がある 悪かった点 コメントが消える  コメントが消えるため、コメントが必要な場合、後から手動追加するのが面倒だった。 Objective-Cのヘッダーで前方宣言(@class)になってるところが残る Swift2.0の構文でコンバートされる(一部Swift3.0に書き直す必要がある) Objective-Cでグローバル変数になっているところは、定数クラスを作るなどする必要がある。たとえば、Objective-CでAlertOKというグローバル変数があったとしたら、SwiftではDeviceConst().AlertOKという感じに書き直す必要があった...

正規表現 発展

和田です。最近はボリビアでゴーストしています。打倒サンタ・ブランカ・カルテル。 さて、前回は「正規表現 基礎」ということで基本的な正規表現を紹介しましたが、今回は発展形として、少し込み入った話になると思います。 前提条件 前回と同じく JavaScript 想定です。 動作確認は Node v6.10.0 で行っています。 目次 後方参照 - (), (?:), \n,...

LSTM で航空会社の乗客数を予測

あゆた Deep Learning 担当の佐々木です。 前回のLSTM で正弦波の予測する記事では LSTM を用いた正弦波の予測を行い、ちゃんと未来予測ができていそうな結果が出ていました。 ただ、正弦波の予測では現実の問題に対して単純すぎる、もっとリアリティのある問題に対して LSTM を使ってみたい!という要望もあるのかなと。 という訳で今回は航空会社の乗客数を予測してみたいと思います。 以下の内容は、基本的にこの記事の要約です。 ただ、全く同じことをしたのでは面白みがないので、この記事ではバッチ処理への対応と、データが無い期間の未来予測も行っていきます。もっと詳しい説明が欲しい方は、本家の方を見てみてください。 入力データの準備 コードはほぼ前回の記事で上げたものと同じです。...

TensorFlow でのデータ入力方法まとめ ②

あゆた Machine Learning 担当の佐々木です。 前回 に引き続き、 今日も Tensorflow のモデルにデータを食わせる手法についてのお話です。 前回の記事で基本的なやり方を一通りおさえたので、今回は feed_dict と Queue を用いたハイブリッドなアプローチに ついて書いていこうと思います。 …という訳で以下、feed_dict を 使って Queue にデータを入れていく仕組みを実装していきます。 この記事も基本的にはこの記事 に書いてあることの要約...

TensorFlow でのデータ入力方法まとめ ①

あゆたディープラーニング担当の佐々木です。 今日は TensorFlow でモデルにデータを入れる手法についてまとめてみます。 パフォーマンスに関する本家の記事曰く、 チュートリアル等々で用いられている定番の feed_dict を使う手法だと、モデルの計算量やデータのサイズ次第では GPU を 活かしきれない事態になるそうです。(GPU の使用率がやたら低くなる) 原因としては、 CPU -> GPU 間のデータ転送が遅いことにあるようで、 次のデータが来る前に計算が終わってしまい、GPU が暇を持て余した状態になる場合があるようです。 そこで今回は Queue を用いてデータの転送を行う手法を実装してみます。...

GCP の GPU インスタンスを使ってみよう[環境構築編]

あゆた機械学習担当の佐々木です。 前回の記事で GCP の GPU インスタンス作成までを行ったので、今回は Tensorflow のコードを動かすまでに必要な環境構築を行っていこうと思います。本記事では Ubuntu 16.04 LTS に Tensorflow 1.0.1 の GPU 版をインストールしていきます。 概要 まずは環境構築に必要な流れをざっくり俯瞰しておきましょう。必要な処理は以下になります。 cuDNN...

正規表現 基礎

Regex Golf 楽しいです。正規表現クイズ楽しいです。 和田です。今回は冒頭の通り、正規表現についてです。正規表現は使いこなせれば大変強力な武器になりますが、使い所を誤ると何を書いているのかわからない、「スパゲッティ表現」になってしまうので注意が必要です。 今回紹介する構文 基礎ということで基本的な構文です。 なお、言語は JavaScript を想定していますが、言語によって大きく変わるものではないので、大体の言語で大体そのまま使えると思います。使えなかった場合、該当言語のリファレンスを参照下さい。 ^ - 行頭を表す $ - 行末を表す x|...

GCP の GPU を使ってみよう[インスタンス作成編]

あゆた深層学習担当の佐々木です。 深層学習と言えば GPU!GPU と言えば、最近はクラウド上でハイスペックなマシンが使用できるサービスが流行っていますね!!この分野では AWS が有名な印象なのですが、先日2017年2月21日に Google Cloud Platform でも GPU インスタンスの使用が可能になったと!アナウンスがありました。 という訳で今回は GCP で GPU インスタンスの作成を行ってみたので、メモ的な意味で記事を残しておこうと思います。さて、GCP で...