読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

GPUEaterでLeela Zeroを動かす

GPUEaterというGPUサーバーレンタルサービスがあります。www.gpueater.comRX Vega 56などハイエンドのPCやワークステーションに搭載されるGPUマシンをお手頃な値段で時間貸ししてくれます。RX Vega 56の場合、1時間$0.4794(≒53円)。ここではAMDのGPUマシンを…

囲碁AI AZ.js

A9.jsとA19.jsはコードがほとんど同じだったのですが、碁盤サイズに定数を使っていたため、別のレポジトリとして作りました。 メンテの意味でもそれはあまりに残念なので、コードをマージしてリファクタリングしてドキュメンテーションを充実させたAZ.jsを公…

囲碁AI A19.js

以前にA9.jsというブラウザ上で遊べる9路盤囲碁AIを公開しました。 今日は、これの19路盤版、A19.jsを公開しました。 FacebookのELF OpenGoのニューラルネットワークを使っています。iMac Late 2012(GTX-660M)でニューラルネットワークの評価は380ms前後でし…

WGoエディタ再び

2年弱前にWGoエディタというものを作りました。nextliteracy.hatenablog.com新興アプリSabakiが良さげだったので開発をやめました。見立てもよかったようで、今、Sabakiは結構人気のアプリになったようです。 SabakiはLeela/Leela Zeroを使った検討機能も拡…

AlphaGoまとめ

AlphaGo Fan AlphaGo Lee AlphaGo Master AlphaGo Zero (20b) AlphaGo Zero (40b) AlphaZero (20b) ELF OpenGo PhoenixGo 評価ハードウェア 1202 CPU & 176 GPU 48 TPU v1 4 TPU v1 4 TPU v1 4 TPU v1 4 TPU v1 1 V100 Tesla P40 HW指標 1TPUで1600simに0.4…

Meteorを使ったリアルタイムアプリのためのデータ構造

Meteor歴5年で今更感があるのですが。Meteorといえばリアルタイムアプリがターゲットのウェブプラットフォームです。 クライアントとサーバーのDBの同期やリアクティブなレンダリングはとても重宝しています。さて、MeteorのDBのクライアント-サーバ同期の単…

macOS(High Sierra)でTensorFlowをコンパイルする

古いiMac(2012)を使っているのでGPUが馬力がないので、CPUでもIntel MKLを使って高速化をすべく、macOS(High Sierra)でTensorFlowをコンパイルしようとしたら嵌りました。TensorFlowはコンパイル時にデフォルトのApple clangを使うのですが、このclangはOpen…

Web WorkerのためのRemote Method Invocation(RMI)

表題のライブラリを作成しました。 github.com 山口さんが開発されたPyaq(https://github.com/ymgaq/Pyaq)という9路盤の囲碁AIをJavaScriptの移植(A9.js)したのですが、そのときに、 UIのレスポンスを維持するためにAIの演算はワーカーで実行したい でも、ワ…

ChromeでTwitterサイトをアプリっぽくする

Twitter for Macの提供終了が発表されました。 Mac版公式Twitterアプリ、突然の提供終了 - ITmedia NEWS iMacでTwitter for Macを立ち上げて、画面の左側に幅を最小にしていつもTLを楽しんでいる私としてはとても困りました。 なのでChromeでTwitterサイトを…

機械翻訳のオープンソース情報を集めます

追記 ここにたくさん集めてありました。https://github.com/jonsafari/nmt-list Sockeye URL: https://github.com/awslabs/sockeye コメント: Sequence-to-sequence framework プラットフォーム: MXNet Fairseq-py URL: https://github.com/facebookresearch…

NodObjCを使ってNode.jsでPasteboardの画像データを取得する

Node.jsでスクリーンショットを扱いたいことがあって、外部コマンドscreencaptureを起動してファイルを生成してそれを読み込むという処理をしていました。 ファイルの生成場所にはRAMディスクを使うなど高速化を図っていたのですが、やはりオーバーヘッドが…

AlphaGo Zeroの研究開発に使われたリソースを見積もってみる

表題の中身 2018/01/30 追記その3 私の「論文のTPUはTPU1を示す」説に対してDeepZenGo代表の加藤英樹さんから「Google の misleading にマンマと騙されている。TPUはTPU2である」というご指摘があったので、なぜこんなことになってしまったのかと思いながら…

Maxima日本語マニュアル(5.41.0)更新しました。

第一種不完全ガンマ函数 gamma_greekが gamma_incomplelte_lowerに名前が変わったぐらいですね。後はマニュアルの見た目の修正のみでした。 maxima.osdn.jp

rust-cudnnのcuDNN v6対応

2年ほど前にAutmunAIというヨーロッパのベンチャがRustで書かれたDeep Learning Framework "Leaf"を開発し始めて注目していました。 しかし、残念なことに1年ほど前に、TensorFlowのエコシステムの成長を見て「負け」を宣言して開発を中止したようです。 Rus…

Maxima日本語マニュアル(5.40.0)更新しました。

仔細な修正以外の主なところはencode_timeとdecode_timeの追加、Maximaの式整理のイントロダクションの追加でした。

Herokuで無料でたくさんTwitter Streamingボットを実装する方法

Herokuでは、ここ2年ほどで無料のdynoに関して変遷がありましたが、今はアカウント毎に毎月所定の時間のdyno hourを割り当てるということに落ち着いたようです。Twitterでリプライやフォローバックをリアルタイムで自動でしようと思うと、Streaming APIを利…

RustによるWeb Assembly事始め

2018/02/14 追記 去年の11月25日にRustのnightly本体でwasm32-unknown-unknownサポートされたようです。なので、本記事はobsoleteです。 Rustが安定版1.14.0でWeb Assemblyを実験的にサポートしました。blog.rust-lang.orgasm.js関連技術を使うにはC/C++に戻…

Maxima日本語マニュアルを5.39.0に更新しました

maxima.osdn.jp

WGoエディタ

追記(2016-11-14] SabakiというElectronベースの良さげなSGFエディタがありました。github.comこちらを利用させていただきます。なのでWGoエディタの開発は中止します_o_version 0.19.0のmacOS用バイナリはうまく動かないようです。githubレポジトリをclone…

Excite翻訳非公開APIの変更があったようです

Exciteの翻訳は特に中国語、韓国語の翻訳の精度が高く重宝しています。 また、URLにクエリパラメータを指定すると指定の翻訳ができるのも便利でした。 最近、(6月20日頃から)この、クエリパラメータ指定がうまくいかなくなって、原因を調べたところ、HTTPメ…

Mac用外付けSSDドライブ

[2016年7月6日追記] 以下の内容間違っていました。 trimforceを使わない(disable)状態でもその後フリーズが起こるようになりました。 どうもネットワーク絡みのようです。フリーズした時にWiFiルータを再起動すると復帰する感じがあります。 要約 ELECOM SSD…

Maxima日本語マニュアル更新

5.38.1に更新しました。 http://maxima.osdn.jp/maxima.html トップページに\input texinfoと表示されていて、マクロの処理がおかしい感じです。 オリジナルでもそうなるので、申し訳ないですが放置しています^^;

Meteorのappcacheの有効活用

Meteorは、appcacheというパッケージを追加するだけで、Application Cacheを利用できます。 手作業だと、manifestをしこしこ書かないといけないのでとても楽です。ただ、Meteorのappcacheは静的リソースのサーバー側での動的変更をサポートしていて、このた…

サイトの画像を一括ダウンロード

訳あって、サイトに表示されているimg画像を一括してダウンロードするスクリプトを書きました。 ((func) -> scr = document.createElement 'script' scr.src = "//ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"; # 短いのに大げさですが、jQue…

Twitterボタンを動的に更新する

[2016/06/08追加] 動的にボタンを追加するAPIがあるみたいですね。 dev.twitter.com Twitterボタンには以下の属性が設定可能です。 type ボタンのタイプ size ボタンのサイズ lang ボタン表示の言語設定 text ツイート内容 url 添付するURL hashtags ハッシ…

新浪微博の各ポストへのURL生成

新浪微博の各ポストに当たるURLを生成する必要があったので、調べました。URLはhttp://weibo.com/<user id>/<post mid>という構造になっていて、post midはpost idから計算できます。 post midを計算するAPI(Querymid)が用意されていたようですが、今の提供されていないようです</post></user>…

meteor.comにデプロイした古いMeteorアプリでのsiperableの注意点

追記 去年の10月にAJAX Crawling (Deprecated)はご覧の通りdeprecatedになっており、meteorのspiderableパッケージは今となっては特に有効ではないということのようです。 Meteorアプリを検索エンジンのボットに読み取ってもらうにはspiderableパッケージを…

SGFパーサ

Rustでコンピュータ碁に取り組むプロジェクト「きり」、ちょっと地味ですが初めての成果公開します。 SGFパーサを作ってcrate.ioに公開しました。 レポジトリは y-ich/rust-sgf: Smart Game Format parser in Rust rust-pegを使って書きました。

GoGui付属のツール

コンピュータ碁の開発者の多くが、GoGuiをUIや開発ツールとして利用しているようです。 GoGuiにはコンピュータ碁の開発開発用ツール(スクリプト)が付属されているので、どんなものがあるかメモってみました。 http://gogui.sourceforge.net/doc/tools.html g…

オープンソースのコンピュータ囲碁

昔オープンソースのコンピュータ囲碁にどんなものがあるのか調査したメモを公開します。 他にご存知の方、教えてください。 PhoenixGo レポジトリ: https://github.com/Tencent/PhoenixGo 言語: C++ ライセンス: BSD コメント: Tencent社内でAlphaGo Zeroの…