タグ

ブックマーク / shu223.hatenablog.com (9)

  • ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後

    「いつか勉強しよう」と人工知能機械学習/ディープラーニング(Deep Learning)といったトピックの記事の見つけてはアーカイブしてきたものの、結局2015年は何一つやらずに終わってしまったので、とにかく一歩でも足を踏み出すべく、質的な理解等はさておき、とにかく試してみるということをやってみました。 試したのは、TensorFlow、Chainer、Caffe といった機械学習およびディープラーニングの代表的なライブラリ/フレームワーク3種と、2015年に話題になったディープラーニングを利用したアプリケーション2種(DeepDream、chainer-gogh)。 (DeepDreamで試した結果画像) タイトルに半日と書きましたが、たとえばTensorFlowは環境構築だけなら10分もあれば終わるでしょうし、Chainerなんてコマンド一発なので5秒くらいです。Caffeは僕はハ

    ディープラーニングの有名ライブラリ5種を最短距離で試す半日コース(TensorFlow, Chainer, Caffe, DeepDream, 画風変換) - その後のその後
    FunnyBunnyDizzy
    FunnyBunnyDizzy 2016/01/05
    まずはChainerからだな/プロキシ環境でやるとどれもこれもちょこちょこハマった
  • BLEデバイスと連携するiOSアプリ開発での「落とし穴」についてWWDCラボで聞いてみました - その後のその後

    Core Bluetooth / Bluetooth Low Energy で iOS アプリと連携する新規ハードウェアを開発したことのある人にとってはあるあるな話だと思うのですが、開発途中でペリフェラル側(外部デバイス)で GATT の内容を変更すると、iPhone の Settings から Bluetooth を Off/On しないと変更が反映されない、というのがあります。 このことを知らないと、 キャラクタリスティックの `value` が取れない -> BLE の接続状態を疑う -> Central / Peripheral 間での UUIDい違いを疑う etc... と、無駄なデバッグ作業をしてしまいかねません。 下記スライドでも最後の方のページで「ハマりどころ」として紹介されています。 BLEデバイス製作とIPHONEからのコントロールの基 しかし例えばデバイス側の

    BLEデバイスと連携するiOSアプリ開発での「落とし穴」についてWWDCラボで聞いてみました - その後のその後
  • iOS 9 の新機能のサンプルコード集『iOS-9-Sampler』を公開しました - その後のその後

    iOS 9 でも大量の新機能が追加されましたが、新しいAPIはどう使うのか、実際に何がどこまでできるのか、といった具体的なところが、英語のドキュメントや動画をながめているだけだと正直あまりピンときません。やはり実際にコードを書いて動かしてみるのが一番わかりやすい・・・ということで今年もつくりました! iOS-9-Sampler 恒例の iOS 9 新機能のサンプルコード寄せ集めアプリです。ソースコードは GitHub に置いてあるので、ご自由にご活用いただけると幸いです。 https://github.com/shu223/iOS-9-Sampler 使い方は Xcode 7 でビルドするだけ なので、デザイナーさんやディレクターさんもぜひお近くのエンジニアにビルドしてもらってください。 Swift のバージョン 2.0 やオープンソース化、ついにネイティブ対応する watchOS 2、と

    iOS 9 の新機能のサンプルコード集『iOS-9-Sampler』を公開しました - その後のその後
    FunnyBunnyDizzy
    FunnyBunnyDizzy 2015/09/17
    iOS9からは標準でOCRっぽいことができるようになったんだ。なるほどー。すごい参考になる / ← OCRは思いっきり誤読でした。失礼しました。
  • Objective-Cのクラスの依存関係を「D3.js」でビジュアライズするライブラリ - Over&Out その後

    Objc-dependency-visualizerというOSSツールを使うと、アプリ内で使用している Objective-C クラスの依存関係をビジュアライズしてくれます。 試しに "iOS7 Sampler" でやってみると、こんな感じのを生成してくれました。 実行するのはrubyスクリプトで、依存関係だけが記述されているだけのシンプルなjsファイルが生成されます。 で、閲覧時にはリポジトリに同梱されている index.html 内のJavaScriptから、生成したjsファイルとビジュアライゼーション用 JavaScript ライブラリ「D3.js」を使用してビジュアライズされます。 そんなわけで、引っ張ったり特定の箇所にフォーカスしたり表示をいろいろカスタマイズしたりできます。 (SVProgressHUDにフォーカスした図) 使い方 GitHubからcloneしてきます。 git

    Objective-Cのクラスの依存関係を「D3.js」でビジュアライズするライブラリ - Over&Out その後
    FunnyBunnyDizzy
    FunnyBunnyDizzy 2014/03/10
    クラス依存関係のビジュアライザ
  • シャッター音の鳴らないカメラアプリの実装方法 - Over&Out その後

    「カメラ機能をアプリにつけたいけどシャッター音を鳴らしたくない」とか、「カメラ起動時のアニメーションが嫌だ」とか、カメラ機能をもっと自由にカスタマイズしたい場合は、UIImagePickerController を使うのではなく AVFoundation フレームワークを使う必要があります。 先日、UIImagePickerController を使わないカメラアプリの実装方法という記事を書いたのですが、そこでは UIImagePickerController を使わず、AVFoundation を用いて静止画を撮影するところまで書きました。 今回は、シャッター音を鳴らさない、いわゆる「静音カメラ」「マナーカメラ」「無音カメラ」と呼ばれている機能を実装します。 静止画撮影はデフォルトの挙動としてシャッター音がなってしまうようになっていてそこは変えられないので、動画モードで撮影を開始し、必要

    シャッター音の鳴らないカメラアプリの実装方法 - Over&Out その後
  • AVFoundation 使用時のカメラ起動を高速化する - その後のその後

    AVFoundation を用いて静止画とか動画とかを撮影する場合に、カメラの起動時間を速くする方法です。 計測してみると、どうも AVCaptureSession の startRunning に一番時間がかかってるので、 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(queue, ^{ [self.captureSession startRunning]; dispatch_async(dispatch_get_main_queue(), ^{ // メインスレッドでの処理(UIまわり) }); }); こうすることで体感起動時間を速くできました。 (要は startRunning をバックグラウンドで処理するだけ) ただ、AV

    AVFoundation 使用時のカメラ起動を高速化する - その後のその後
  • ユーザー登録なしでユーザーを識別するベストプラクティス - その後のその後

    アプリを起動していきなりサインインや新規アカウント作成が必要だとそこで辞めてしまうユーザーは多い。 で、ユーザー登録ステップを踏まずにユーザー識別する手段としてまずUDIDを使う方法を思いついてしまうのですが、下記のようなすごくためになる記事がありまして、 iOS デバイスでの番号・番号・番号( UDID、ICCID、IMEI、... ) それによるとUDIDを使うのはだいぶリスキーなようです。 UUIDを認証に使った場合、他者に漏れると簡単になりすましができてしまう。この為、認証に使ってはいけない。また生のまま暗号化されていないネットワークに流すことや、サーバ側で管理することも推奨されない(UUIDを元に個人が特定できる可能性が出てくるため、漏洩した場合まずいことになる)。ログを取る目的などで単にユーザを分別するのに利用したい場合は、適当な文字列(SALT)を加えてから MD5や SHA

    ユーザー登録なしでユーザーを識別するベストプラクティス - その後のその後
    FunnyBunnyDizzy
    FunnyBunnyDizzy 2013/02/05
    アプリ削除で消えて欲しくないならKeyChainに突っ込むとちょっとマシに。バックアップ時に暗号化するようにすればリストア時にも残ってくれる。
  • CALayer を用いた「影」の描画処理を軽くする - その後のその後

    CALayerを用いてUIViewを継承したクラスに影をつける方法は、下記のような感じで(CoreGraphicsで描画する方法などと比べて)わかりやすくお手軽で、質感もグッと増すので、ついつい多用したくなります。 self.layer.shadowOpacity = 0.5; self.layer.shadowRadius = 2.0; self.layer.shadowOffset = CGSizeMake(0.0, 0.0); ただ、影とか透過とかの処理はなかなか重いらしく、例えば UITableViewCell に置いた背景用画像に影をつけると、iPhone4ぐらいでも完全に体感できるぐらいに遅くなってしまいます。 で、このコードに下記の3行を付け加えてやると、体感でわかるぐらいに改善されます。 self.layer.shadowPath = [UIBezierPath bezie

    CALayer を用いた「影」の描画処理を軽くする - その後のその後
    FunnyBunnyDizzy
    FunnyBunnyDizzy 2013/02/05
    スタックオーバーフローから飛べる great linkとやらがマジでグレートだった
  • ゲームアプリ向け UI コンポーネントセット "UIKitForGame" を公開しました - その後のその後

    最近はゲームアプリをつくることが多いのですが、その中で自分でもよく使う UIKit のカテゴリ/サブクラスの詰め合わせを Github にアップしました。 https://github.com/shu223/UIKitForGame 以下に概要と使い方を紹介させていただきます。 DamageValueLabel 某ファイナルなファンタジーのバトルを彷彿とさせるダメージ値のアニメーションが簡単に行えるようになる UILabel のサブクラスです。 手軽にゲームっぽい雰囲気を出せるので、モック等によく使っています。 使い方 表示したい文字列を UILabel の text プロパティにセットし、 [self.label startAnimation]; このように startAnimation メソッドをコールするだけ! More self.damageLabel.textColor = [U

    ゲームアプリ向け UI コンポーネントセット "UIKitForGame" を公開しました - その後のその後
  • 1