こんにちは! 新オフィスに移転してから毎日2缶ドクターペッパーを買うのが習慣化してきた @fortkle です。 今回はSlackで簡単に文字校正ができるBotを作ってみたのでご紹介したいと思います。 手軽に校正したい メールやチャットだけでなく、こういったブログやissueに書く仕様など「文章を書く」シーンはたくさんあると思います。 そんなとき自分が伝えたいことを相手にちゃんと伝えることができれば良いのですが、良い文章を書くのはなかなか難しく、今も試行錯誤しています。 そこで、相手に伝えたいことがちゃんと伝わる良い文章を書くためにSlack上で簡単に試せる文字校正Botを作ってみました。 成果物 実際に見たほうが早いと思うので画像を交えてご紹介します。 例として以下の文章をチェックしてみたいと思います。 この文章はご存知の通り、ダミーテキストです ヽ(^o^)丿 そして、様々な、エラーチ
こんにちは。 2016新卒でLobiのサーバーサイドエンジニアをやっているmorikuniです。 今回は、mdqというGo製のツールを作ったので、その紹介をします。 mdqは複数のデータベースに並列にクエリを投げて、結果をJSONで出力してくれるというものです。 github.com mdqに近いコンセプトのツールとして、弊社の荒賀(@ken39arg)が作ったshard_promptがあります(#6「Shardingマジ怖い」tech.kayac.com Advent Calendar 2012)。 こちらはSQLを解析し、複数データベースにまたがる集約関数を一部サポートしていますが、MySQL専用かつ直列にクエリを投げるというものでした。 mdqでは複数データベースにまたがる集約関数はサポートしませんが、PostgreSQLなどMySQL以外のデータベースへのクエリや、並列処理による速
sonots先生の話を聞きに行ってきたので、そのメモを残しておきます。 瀬尾 直利 氏 DeNA Co., Ltd. AIシステム部 リードエンジニア DeNAの機械学習基盤 ディープラーニングの基盤 => GPU基盤 という認識 GPUすごくて、CPU使って30日のところ、GPUを使うと4日くらいのオーダー GPUの特徴 並列処理が得意 CPUだと24coreとかのオーダー GPUでは3000〜4000core 分岐処理は苦手 行列演算に向いている GPU製品 NVIDIA Tesla HPC向けにGPUシリーズ NVIDIA GeForce GRID クラウドゲーミング向け AMD FirePro NVIDIA Tesla API CUDA OpenCL DirectCompute CUDAのアーキテクチャ CPU(ホスト)からGPU(デバイス)にデータを転送 GPUで処理 GPUから
Pythonで辞書をforで作成するときに、キーがー存在する場合はバリューを更新して、存在しない場合はキー:バリューを追加したい場合、標準ライブラリのdefaultdictを使うのが良い。 例えば次のようなファイルががあって、 Shinji,国語,100 Shinji,英語,95 Shinji,歴史,92 Aska,独語,100 Aska,国語,75 Aska,数学,87 Rey,国語,87 Rey,歴史,92 Rey,数学,78 ファイルから次のような辞書を作りたいとする。 { 'Shinji': {'英語': '95', '歴史': '92', '国語': '100'}, 'Rey': {'数学': '78', '歴史': '92', '国語': '87'}, 'Aska': {'独語': '100', '数学': '87', '国語': '75'} } read_csv というファイ
Python で辞書にアイテムが存在しない場合のデフォルト値の設定方法をご紹介します。 Python の辞書を使っていると、次のような処理をしたくなるときがあるかと思います。 # 各朝食メニューの回数を調べる breakfast = ['kome', 'pan', 'kome', 'kome', 'cereal', 'pan', 'kome'] numbers = dict() for b in breakfast: if b in numbers: numbers[b] += 1 else: numbers[b] = 1 print(numbers) # => {'pan': 2, 'kome': 4, 'cereal': 1} この処理はもちろん間違っていませんが、もっとシンプルにわかりやすく書きたい場合はデフォルト値を使うのが便利です。デフォルト値を使うにはいくつかの方法があります。
C++ Books Books are very personal and subjective possessions. And programming books are no exception. But regardless of their style, focus, or pace, good C++ programming books take the reader on a compelling journey, opening eyes to the capabilities of the language, and showing how it can be used to build just about anything. I have carefully selected C++ books which all share the virtue of being
「数値最適化」は機械学習における中心的手法の1つです。多くの問題では、最適解を直接突き止めることは難しいものですが、ある解がどれほど適しているかを測定する損失関数を設定し、解を見つけるためにその関数のパラメータを最小化することは比較的容易です。 かつてJavaScriptを初めて学ぼうとしていた時 、結果的に数値最適化ルーチンを多数書きました。そのコードを特に使うこともなく置いていたので、それらのアルゴリズムの動作をインタラクティブな形で可視化したら面白いのではないかと考えました。 本記事の良い点は、コードが全てブラウザで実行できることです。つまり、アルゴリズムの動作をより把握するために、各アルゴリズムのハイパーパラメータをインタラクティブにセットしたり、初期位置を変更したり、どの関数が呼び出されるかを変更したりすることができるのです。 (編注:本記事ではスクリーンショットのみ公開しており
なぜDMMがweb3に参入したのか。Seamoon Protocolが目指す新たなエンタメ体験の未来とは
はじめに この記事はいまさらながらに強化学習(DQN)の実装をKerasを使って進めつつ,目的関数のカスタマイズやoptimizerの追加,複数入力など,ちょっとアルゴリズムに手を加えようとした時にハマった点を備忘録として残したものです.そのため,DQNの解説記事というよりも初心者向けKerasTipsになります. 実行環境 Python3.5.2 Keras 1.2.1 tensorflow 0.12.1 DQNとは DQN(DeepQNetwork)がDeepMindから発表されて2年以上経つので,もはやいたる所に解説記事や実装サンプルがあり,ここでの詳しい解説は不要だと思います.が,ざっくり言うと,Q-Learningという強化学習手法のQ関数部分を,深層学習により近似することで、動画像から直接Q値を推定することを可能にした学習手法です. DQNの理論としては ゼロからDeepまで学
前回 惨敗の正答率だった、SVMによるMNIST手書き文字分類。 まずはscikit-learn付属のデータセットで復習してみることにする。 scikit-learn付属の手書き文字データセットは解像度がひどい こんな感じで試してみると、 from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.svm import SVC d = load_digits() X_train, X_test, y_train, y_test = train_test_split(d.data, d.target, train_size=0.8) svc = S
#!/usr/bin/env python # -*- coding: utf-8 -*- import logging import othermodule LOG_LEVEL = 'DEBUG' if __name__ == '__main__': logging.basicConfig( level=getattr(logging, LOG_LEVEL), format='%(asctime)s [%(levelname)s] %(module)s | %(message)s', datefmt='%Y/%m/%d %H:%M:%S', ) # test logger = logging.getLogger(__name__) logger.critical('critical message') logger.error('error message') logger.warnin
Deep Learningの学習結果(重み)はブラックボックスで、隠れ層のユニット(特に深い層の!)が一体何を学習したのかがよくわからないと長年言われてきた。しかし、今回紹介する方法を使うとニューラルネットが何を学習したのか目で見える形で表現できる。 畳み込みニューラルネットで学習したフィルタの可視化というと以前やったように学習した第1層のフィルタの重みを直接画像として可視化する方法がある。 しかし、畳み込みフィルタのサイズは基本的に数ピクセル(MNISTの例では5x5ピクセル程度)のとても小さな画像なのでこれを直接可視化しても何が学習されたか把握するのはとても難しい。たとえば、MNISTを学習した畳み込みニューラルネット(2016/11/20)のフィルタを可視化しても各フィルタがどの方向に反応しやすいかがわかる程度だ。 各フィルタが何を学習したかを可視化する別のアプローチとして各フィルタ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く