背景 今月始めにMicrosoftからRemote Development Extension Pack. というのが発表された。簡単に言うと、VSCodeでコードを書くOSとプラグインが実行されるOSを別にすることが出来る。 よくあるパターンで、「MacでNokogiriがビルドできません」「WindowsでESLintを実行するにはどうしたら良いですか」みたいな質問がある。 最終的にサービスを公開するときにはどうせLinux使うのに、開発するときしか使わない別のOSで同じものを動かす苦労って無駄だよなあ、と思っていた。 じゃあ最初からLinuxで開発すればいいかというと、最近の高度化したWeb開発はIDEの支援なしに実行することが困難で、RubyだったらRuboCop、JavaScriptだったらPrettierやESLintで文法チェックしてもらわないと人類にはついていけない。これら
はじめに:Optunaとは 使い方 インストール 最適化問題の例 問題設定 最適化 最適化の結果 ニューラルネットワークのハイパーパラメータチューニング 問題設定 実装 ハイパーパラメータを引数に取り、ニューラルネットワークを構成する関数 ハイパーパラメータを引数にとり、最適化手法を返す関数 ハイパーパラメータを引数に取り、学習済のモデルを返す関数 ハイパーパラメータを引数に取り、最小化したい値を返す目的関数 いざ最適化 はじめに:Optunaとは OptunaとはPFNが世に送り出した最適化枝刈りライブラリです。 Pythonのコードとして機械学習のコードのどこにでも入れることができ、非常に使いやすいAPIとなっています。大体、結構丁寧なサンプル・解説が公式ドキュメントに既にあるので、分かる方は此方を読むのが一番早いでしょう。 Welcome to Optuna’s documentat
機械学習のハイパーパラメーターを自動最適化、Preferred Networksがライブラリを公開:機械学習の開発負荷を低減 Preferred Networksは、機械学習アルゴリズムの動作を制御する「ハイパーパラメーター」向けの自動最適化フレームワーク「Optuna」のβ版をオープンソースソフトウェアとして公開した。機械学習ライブラリとして「Chainer」だけでなく、「scikit-learn」や「XGBoost」「LightGBM」などを利用した場合でも、ハイパーパラメーターの自動最適化が可能。 Preferred Networksは2018年12月3日、ハイパーパラメーター自動最適化フレームワーク「Optuna(オプチュナ)」のβ版をオープンソースソフトウェアとして公開した。 Optunaは、ニューラルネットワークを実装する際に必要な、隠れ層の数やノード数、学習の際の繰り返し回数
牧野先生は、HPCxベンチマークで何を測定すべきかについて述べた。 過去40年に作られたHPC用のベンチマーク 過去40年にHPCのベンチマークとして、次の一覧に示すようなものが作られた。 しかし、現在、広く用いられているのはHPL(並列LINPACK)だけであり、その他(2013年のHPCG、2014年のHPGMGは除くと思われる)は消えていった。なぜHPLが生き残ったのか? 牧野先生の意見では、HPLは他のベンチマークが持っていないユニークな性質を持っているという。それは、 解くべき問題だけが決められており、解き方やプログラムは規定されなかった(その後、計算量が少なくなる解法が発明され、それを使ってはいけないという規定が追加されているが、計算量を減らさなければ、他の解法を使ってもよい) 問題のサイズが規定されていない。K FlopsでもYotta Flopsのマシンでも測定できる。 そ
Stack Overflowを利用している開発者の中には、プログラミング言語「Perl」を扱いたくないと思っている人が多くいることが明らかになった。PerlはLarry Wall氏が開発したもので、生まれて30年近くになる。 Perlは1990年代にはよく使われていたが、今では「Python」の方が好まれることが多い。PythonはGoogleで広く利用されているほか、データサイエンティストの間でも人気がある。 同サイトの統計でPerlに次いで嫌われていた言語は、「Delphi」とMicrosoftの「VBA」だった。 Stack Overflowは、この嫌われている言語ランキングに使用したデータを、求職情報ページの「Developer Story」ページから集めた。Developer Storyは、開発者が自分の職歴や実績などをまとめて公開できるサービスだが、このページには使いたい言語と
Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。 [2020.4.4追記:最新版の紹介記事はこちらです] Pyxelって何? Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。 github.com プロジェクトはGitHubでオープンソースとして公開されており、公開4日でGitHubのデイリーランキングで全1億のプロジェクト中1位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで1位になっています。(1位の座は48時間持ちませんでしたが…) GitHub上ではその後もスター数が増え続けており、現在は4000スターを
[速報]GitHub、見られてはいけないコード中のアクセストークンを発見し通知してくれる「Token Scanning」発表。GitHub Universe 2018 クラウドサービスが充実してきたことで、コードからクラウドAPIを呼び出して利用することが一般的になってきました。クラウドAPIを呼び出す際には、適正な呼び出し権限を持つことを示すため、あるいは呼び出す側を特定して課金するなどの目的でアクセストークンを用いることがあります。 アクセストークンは第三者に知られないように安全に管理し利用する必要がありますが、何らかの原因でアクセストークンがコード内にそのまま記述されてそのコードがGitHubなどで公開された結果、悪意のある第三者に使われ、アクセストークン本来の持ち主に膨大な利用料金が請求される、といった事故がしばしば起きています。 GitHubはこうした事故を防ぐため、コード内に記
ここ数年、Pythonの人気が高まっています。2016年2月時点では、世界中のインターネット上のドキュメントに多く登場するプログラミング言語を集計したデータを公開しているTIOBE Programming Community の プログラミング言語人気ランキング でもかなり上位に位置しています。 そこで今回はPythonからPostgreSQLへ接続する方法をご紹介します。 PythonからPostgreSQLに接続する場合、"ドライバ"と呼ばれるモジュールを使用します。PostgreSQL用として現在公開されているメジャーなものでは、以下の3つが挙げられます。なお、備考内の"libpq"とはPostgreSQL自体が提供している、クライアントアプリケーション用のC言語のライブラリです。
80年代か90年代に生まれた方ならおそらく、「Snake」というゲームのことをご存じでしょう。「ご存じ」とはつまり、Nokia 3310のちっぽけな画面上でたわいもない巨大ヘビを育てるのに膨大な時間を費やしていたのではないかということです。Nokiaの携帯電話について、皆さんは他にどんな特徴を覚えていますか? バッテリーが長持ちしたことではないでしょうか。 Nokiaはとても”原始的な”携帯電話であったにもかかわらず、バッテリーを使い果たすことなくSnakeゲームで何時間も遊べたのは、どういう訳だったのでしょう? 理由の大部分は、優れた強固なコンポーネントのおかげでした。しかし、貢献度はそれより低く、あまり語られることもありませんが、スライディングウィンドウと呼ばれる手法も長時間のプレイに役立っていたのです。 Snakeだけを扱った記事を1本書きたいのは山々ですが、実は本記事では後者の、魅
 TL;DR; 「分散ロック」が分散システムの設計図に登場した時 だいたいその設計は間違っていて本当に必要なものはトランザクションだ 並行システムを実装する際にロックを用いるのはとても自然なことだ。 僕も普段はロックフリー系のアルゴリズムに詳しいと言われがちだが知識量でいったら実はロック系の方が多く蓄えているかも知れない。 分散システムは並行システムであることが多いので、その中にロックが登場するのはとても自然な発想である。 よく「分散」「並行」「並列」の言葉の定義がごっちゃになっているケースがあり、この記事の主題にしたいわけではないので深くは言及しないが、分散システムは環境などの要因で突如として参加者が音信不通になったり復活したりする点で並行システムと大きく異なる。 並行システムと同じノリで分散システムを設計しようとした際に陥る頻出の過ちが「分散ロック」である。そのアイデアはとても簡単で
小さな電子部品「トランジスタ」は、多くの人が生活に欠かせないスマートフォンやPCの中に何億個も使われているほか、電車を走らせたり、音楽をスピーカーから流したり、ロケットを宇宙へ飛ばしたりと、現代の文明社会を成り立たせるのに絶対に欠かせないものとなっています。そんなトランジスタがどのような仕組みで動作しているのかを解説するムービー「Transistors, How do they work ?」がYouTubeチャンネルのLearn Engineeringで公開されています。 Transistors, How do they work ? - YouTube トランジスタの発明は、人々の生活に革新的な変化をもたらしました。 もちろんスマートフォンに内蔵されるプロセッサにも組み込まれ、動作の要となっています。 そんなトランジスタは、主な役割を2つ持っています。1つは電気回路の「スイッチ」として
3/21 22時頃: 質問編へのリンクを撤去し、タイトルを変更しました。(元のタイトルは「【謎】本当にあったfindコマンドの怖い話【未解決→解決済み】」) 要約 100万個のファイルに対して、find コマンドから始めて mv コマンドでファイル名を変更するワンライナーを実行すると、 mv コマンドが約158万回実行されました。 背景 これは、Software Design 2018年4月号 Software Design 2018年4月号 の「シェル芸人からの挑戦状」の記事執筆中に遭遇した不思議な現象です。1 初めはコラムに書こうとしていたのですが、結局原因がわからず、解説が書けなかったために紙面からは外すことにしました。 流石に結論が「わかりませんでした」で雑誌には載せられないので……。 現象自体は面白かったため、代わりに個人のブログの方に書くことで共有します。 (掲載の許可は頂いて
Coding Horror: Please Don't Learn to Code Please Understand Learning to Code Coding Horrorで有名なJeff Atwordが、ある州知事が今年の目標としてプログラミングを習得することを挙げていることに対し、そもそも税金を払う我々市民は、政治家にはプログラミング習得以上に重要な、政治家にしかできない問題の解決を望む、よってプログラミングを学ぶのをやめてくれという記事を書いた。これに対して、反論が多数上がっているが、Jeffも読んでいるある論文をあげて、この議論の参加するためには、必ずこの論文を知っておくべきであると書いた人がいる。この論文は有名で、非常に興味深いので、全プログラマーが読むべきである。 ふたこぶラクダという名前で知られている有名な論文がある。この論文では、60%の人間にプログラミングの素質が
bitFlyerのAPIドキュメントにはサンプルがないので、Streaming APIのサンプルを載せます。 Streaming APIを使用するときは、bitFlyerへリクエストを送りません。代わりにpubnubというサービスへリクエストを送ります。 pubnubを使用するときは、 python python3 + asyncio python + twisted python + tornado と4つの方法がありますが、ここではtornadoを使用することにします。pythonのバージョンは2.7です。 基本的にはpubnubのサンプルそのままで大丈夫なはず。 pip install tornado pip install pubnub でライブラリをインストールすることを忘れずに。 from pubnub.callbacks import SubscribeCallback fr
以前、FX システムトレードをしていたので、その経験を生かし(5 万損したけどね)、 Bitcoin でシステムトレードが出来ないか調べてみた。 OANDA API をつかって Python で 為替レートを取得してみた | Futurismo tsu-nera/oanda-forex-study: My Forex Study Repository Bitcoin API 調査# “bitcoin api” で検索をかけた。また、言語は Python で書きたいので、 Python で使えるかも注目して調べた。 ざっと調べた限りだと、 日本では以下の会社が API を提供しているようだ。 coincheck: ビットコイン決済 API ドキュメント | coincheck payment bitflyer: ZaifAPI ドキュメント — Zaif api document v1.1.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く