ほぼ日刊サービス開発日誌

5月は機械学習とReact

モーションキャプチャデバイスの方式とそれぞれのメリット・デメリットについてまとめた

モーションキャプチャとは、人や物の動きをデジタル化するシステムで、 スポーツやリハビリ等における身体の動きのデータ収集 CGで作られるキャラクタの動きを、人間らしく再現 自動車部品や機械製品の挙動、ゴムや布等の素材の伸縮や反応のデータ化・評価 …

Amazon machine image(AMI)のアカウント間共有の仕方

1. 共有対象のAmazonアカウントIDをメモる ログイン後右上のアカウントページからIDの確認可能。 2. 共有側でAMI を選択し、[Actions] から [Modify Image Permissions] を選択 [AWS Account Number] フィールドに AMI を共有するユーザーの AWS アカウント…

Atomから乗り換え。vscodeでvimのキーマップ割当:Ctrl+j をescキーに割り当てる

先月はAtom使っていたけど、いまいち起動が遅くて乗り換えることにした。 早速vim関係のキーマッピング設定をした。 Ctrl+j をescキーに割り当てる設定にしているのだけど、 調べたら「できない、issueになっている」と出てきた。とはいえ試したら普通にでき…

Atomで快適にVimの矩形選択モードを利用する(2018)

atom-sublime-selectとか、vim-mode-visual-blockとか、いろいろプラグインはあるけれど、メンテナンスされていなかったり、マウスを使わなければいけなかったり、v+control+j/k で操作したい自分には適していなかった。 vim-modeの作者さんが作った、 2015…

Pythonでdotenv

pip install python-dotenv # coding: utf-8 # 環境変数のあれこれ from os.path import join, dirname from dotenv import load_dotenv dotenv_path = join(dirname(__file__), '.env') load_dotenv(dotenv_path) import os for k, v in os.environ.items()…

kerasでモデルと重みを保存して再利用する方法

kerasは モデルの構造 モデルの重み を別々に保存する構造になっています。 モデルの構造はjson、もしくはyamlで保存されます。 モデルの重みは HDF5フォーマットで保存されます。これは多次元の配列を保存するのに適した形式です。 # モデルの構造を保存す…

sshでTensorboardする!kerasのmodelをTensorboardに出す!簡単

Tensorflowの可視化をするTensorboard。 まずリモートサーバーでポートを指定して起動 この場合9999ポートで動かす。 tensorboard --logdir=/home/ext/shiho-wyb/dev/cnn_nlp --port 9999 次にクライアントでポート転送設定をする。 いつも ssh -p {接続先ポ…

EC2のボリューム(EBS)容量拡張方法とそのエラー:resize2fs してもCouldn't find valid filesystem superblock.

ボリュームの追加方法は以下を参考にしました。 dev.classmethod.jp 当然なのですが、AWSコンソールからボリュームを追加したがそれだけでは、反映されていませんでした。 拡張したボリューム領域をインスタンス(もしくはOS)で認識させる作業が必要でした。…

imapとnoremapとmap - vim

新しいMacを買ったらescキーがなかったので、Control + jにescキーを割り当てることにしました。 vimrcにうろ覚えで imap <C-j> <esc> と書いてもうまく行きませんでした。 インザートモードの時に、Control + j つまり<C-j>を押すとノーマルモードに戻るのですが、 ビジュ</c-j></esc></c-j>…

sshでもatomしたい

remote-atom Command + , でatom設定を開いて、上記のパッケージをインストール。 ナビゲーションのパッケージ>remote-atom>start-server をクリック リモートサーバーではrmateコマンドを使えるようにする必要がある 以下のようにしてパスの通じているとこ…

テキストデータをCNNを用いて既定カテゴリに自動分類する実装のまとめ

目的 テキストデータをあるカテゴリに自動分類したい。 既存の手法を集めてみた。といっても論文からではなく、ブログ記事を参考に手法と結果をまとめてみた。 1. 全結合層が2つのシンプルなCNN KerasのCNNを使って文書分類する より。 keras/imdb_cnn.py a…

rubyでarxivの論文タイトルをPDF/absのURLから取得する

APIを利用してJSONをパースする。 APIは以下のような構造。 https://api.altmetric.com/version/arxiv/arXiv_id require 'net/http' require 'uri' require 'json' arxiv_id = target_url.split('/').last.match(/\d+\.\d+/).to_s api_url = "https://api.al…

Unicornで動かしたRailsのログをtd-agent に流してS3にアップロードする

td-agentのログはアプリサーバーにおいて置くと膨大になってしまいます。 RailsアプリのログをS3に流してあとで分析できるようにします。 S3との連携プラグインをいれる gem install fluent-plugin-s3 /etc/td-agent/td-agent.conf に設定ファイルを置く <source> @t</source>…

図で理解する畳み込みニューラルネットワークの設計「実装ディープラーニング」第3章〜第4章

CNNの仕組みを図にすることで、畳み込み層、プーリング層、全結合層の意味合いや、設計の勘所などがだんだん掴めてきました。 今回の内容は、 実装 ディープラーニング作者: 藤田一弥,高原歩,株式会社フォワードネットワーク出版社/メーカー: オーム社発売日…

図で理解する「実装ディープラーニング」第1章〜第2章 畳み込み層、プーリング層、バッチ学習、損失関数 

書かなきゃ覚えられない体質なので、「実装ディープラーニング」の内容を図にしてまとめていきます。 実装 ディープラーニング作者: 藤田一弥,高原歩,株式会社フォワードネットワーク出版社/メーカー: オーム社発売日: 2016/11/30メディア: 単行本(ソフトカ…

AWS EC2 UbuntuでNo space left on device になってしまったよ... ブロック追加

とりあえず、 df -h(disk free, ディスク空き容量) してどれくらい使い込んでいるかをみると、 /dev/xvda1 7.7G 7.7G 100% で満杯だった。 sudo du -h --max-depth=1 {somedir} (disk usage, ファイル空き容量) で当たりをつけたディレクトリ配下でどれくら…

unicron-railsでリモートRailsサーバーの起動に失敗、しかもエラーログがリモートにない

cap staging deploy が毎回失敗してしまう。 (Backtrace restricted to imported tasks) cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as ubuntu@xxxx: bundle exit status: 1 bundle stdout: master failed to start, check stde…

Twitterみたいに各タブが無限スクロールするコンポーネントの実装【React】

ツイッターの様な、 「タイムライン」「お気に入り」「フォロワー」 みたいなタブが横並びになっており、それぞれに無限スクロールが可能なユーザープロフィールページは、どうコンポーネント分けるのがベストなのか? について悩んでしまいました。 これ、…

Reactのライフサイクルメソッドとその使いドコロのまとめ - ajax callをするのに最も適した場所は?

React.jsを勉強し始めて3日経ちました。 いまいちよくわからなかったReactのライフサイクルメソッドの使い分けについて調べたのでまとめます。 ライフサイクルと使いどころ componentWillMount コンポーネントがDOMツリーに追加される前に一度だけ実行され…

React.js - Tabの表現には props.children が便利

最近、遅まきながらReactを勉強しています。VR, Web, iOS, androidで一つのコンポーネントを使いまわして表現できるのはとても魅力的だと思ったからです。 呼び出す親側から変数をDOMタグのアトリビュートとして受け取りpropsから引き出す・・・という形態に…

cap deploy が失敗する原因がcd:cd:2: permission denied: だった

cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as ubuntu@x.x.x.x 他の人のPCでステージング環境にデプロイしようとしたら、エラーが出るということがありました。 原因は秘密鍵のあるディレクトリのパーミッションでした。 .sshデ…

macbook pro 2017 touchbar買ったけどescがないのでvimmerは困っちゃいそう

escがTouch Barの中に入ってしまっているので、物理キーじゃなくて押し心地イマイチです。 karabiner入れるのも面倒なら、デフォルトで対応できる方法があります。 control + [ でデフォルトでescキーのエイリアスになっています。 私はデフォルトのcontrol…

いま接続してるwifiのパスワードをターミナルで一発確認するシェルスクリプト

variable_name = $( command ) で${variable_name} がパイプで利用できるようになる。 awk 'パターン {アクション}' ファイル名」で、テキストファイルを1行ずつ読み、パターンに合致した行に対して、アクションで指定された内容を実行する。 ssid=$(/System…

Amazon elastic beanstalkにDjangoとRailsをデプロイして独自のDBと接続&cloudwatchでリアルタイム監視

共通設定 環境の設定 eb printenvで環境変数表示 eb setenv key=value で設定 .ebextensions/01-somesetting.config でデプロイ時の設定追加。インデックス順に反映される git cloneがリモート環境でできるように yumでgitを入れておく migration実行コマン…

Djangoで既に使っているDBの分析サーバーを立てよう<概観メモ>

ぱぱっとすぐ見た目のいいpythonでのAPIサーバー作成が作れるDjango. 毎回忘れるのでまとめます。 最終目標 既存のDBからmodels.pyを作成する api/articlesから記事一覧が見れるようにする 上記を管理者のみ閲覧可能にする Djangoについてわかっていればいい…

他腕バンディットアルゴリズムの概要と実装

多椀バンディットアルゴリズムとは、 探索と活用を効率的におこない、 一定期間の利益を最大化するアルゴリズム。 たとえば、 確率分布がことなるスロットマシンが複数台あったとき、 全部をまずは試してみないとどの台がベストかはわからないけれど、 とり…

go言語の静的サイトジェネレータhugoの備忘録

ディレクトリ構成 サイトフォルダ │ config.toml <- 設定ファイル。テーマとか。 │ ├─archetypes ├─content ├─data ├─layouts <- テンプレートファイルの置き場。 ├─static <- css などの置き場。 └─themes <- githubでダウンロードしてこのディレクトリに入…

Rails5でheroku上でactive jobsによる非同期処理を行う

導入 # gemfile gem 'delayed_job_active_record' # terminal $bundle exec rails generate delayed_job:active_record # terminal $ rake db:migrate # Procfile worker: rake jobs:work Procfileは <process type>: <command>の形式で使えます。 自分は プロセス release にbudnle</command></process>…

Djangoでユーザーモデルに対してOneToOneで関連したProfileモデルに向けてフォームを作る

最近RailsプロジェクトをDjangoに書き換えました。 理由は、 Ruby熟練者のコードが読みにくいことがある Djangoの方が詰まった時、フレームワーク自体の元コードの確認がしやすく感じた Railsよりもファイル構成がわかりやすく感じた(各モデルごとに、DB構…

[つくれぽ]使用しているパーシャルテンプレートをビューに表示してくれるgemをつくりました

初めてgemを作りました。 公開1日で300人のダウンロードがあり、なかなか達成感がありました。 とても簡単なので、是非是非railsユーザでgemを作ったことのない方は試して見てください。 作ったgemは、current_template という、現在表示しているテンプレー…