タグ

関連タグで絞り込む (486)

タグの絞り込みを解除

programmingに関するMukeのブックマーク (355)

  • ニューラルネットワークの量子化についての最近の研究の進展と、その重要性 - SmartNews Engineering Blog

    こんにちは、スマートニュースの徳永です。深層学習業界はGANだとか深層強化学習だとかで盛り上がっていますが、今日は淡々と、ニューラルネットワークの量子化の話をします。 TL;DR パラメータだけを量子化するのであれば、ほぼ精度を落とさずに、パラメータのデータ容量は1/16程度にまで削減できる パラメータ、アクティベーション、勾配のすべてを量子化し、推論だけでなく学習までもビット演算だけで実現する研究が進んできている 現在は深層学習 = GPU必須というぐらいの勢いがあるけど、量子化の研究が進むと、今後はどうなるかわからないよ はじめに 情報理論における量子化とは、アナログな量を離散的な値で近似的に表現することを指しますが、稿における量子化は厳密に言うとちょっと意味が違い、十分な(=32bitもしくは16bit)精度で表現されていた量を、ずっと少ないビット数で表現することを言います。 ニュ

    ニューラルネットワークの量子化についての最近の研究の進展と、その重要性 - SmartNews Engineering Blog
  • 『How to Get Startup Ideas』 - いかにスタートアップのアイデアを得るか - Yamotty Blog

    この記事は2012年11月にポール・グレアムが自身のBlogへ投稿した『How to Get Startup Ideas』というエッセイを訳したものだ。ポール・グレアムはシリコンバレー最大の起業家養成スクールである『Y Combinator』の創設者であり、YCの卒業者にはDropbox, Airbnb, Heroku, Cruiseといった名だたるテック企業がいる。 YC卒業者たちの時価総額合計はなんと8兆円以上と見積もられる 記事は急成長を目指す全てのスタートアップにとって「狙う打球の見極め方」を示したものであり、最も大事な視点が示されている。約2万字と非常に長く、またぼくの拙訳ではあるが、日でも盛んになりつつあるスタートアップという働き方に対して関心がある、できるだけ多くの人に読んで貰いたいと思い翻訳に至った。もともと原文を読んでいたのだが、翻訳記事がほかに見つけることもできなか

    『How to Get Startup Ideas』 - いかにスタートアップのアイデアを得るか - Yamotty Blog
  • Pythonをやるときに参考になりそうな情報 - のんびりSEの議事録

    最近あんまり触っていなかったので、久々にPythonをやろうと思ったときにいろいろ忘れてたり、新しく知ったりしたこともあったので、Pythonやるときに参考になりそうな情報をまとめました (但し、今回はデータ分析系のライブラリ関連は除いています) Pythonの言語仕様や基等 概要 — Python 3.5.2 ドキュメントdocs.python.jp qiita.com www.python-izm.com 2系と3系の違い postd.cc qiita.com コーディング規約 はじめに — pep8-ja 1.0 ドキュメント ドキュメント生成 azunobu.hatenablog.com ドックストリング """ 3重ダブルクォートを使用して記載する。 ドックストリングに記述したテキストは関数やクラスオブジェクトの__doc__に保存される def hello(): """Out

    Pythonをやるときに参考になりそうな情報 - のんびりSEの議事録
  • React基礎 · GitBook

    React基礎 レッスン Lesson 01: 環境構築 Lesson 02: ES2015について Lesson 03: 関数型の書き方 Lesson 04: 初めてのコンポーネント Lesson 05: 初めてのinline style Lesson 06: 初めてのprops Lesson 07: 配列からの展開 Lesson 08: フォームの定義 Lesson 09: フォームによるデータ追加 Lesson 10: 総合課題「目的特化型電卓を作ってみよう」 おまけ Appendix 01: 様々なコンポーネントの書き方 Appendix 02: コンポーネントのstate Appendix 03: コンポーネントのライフサイクルメソッド Appendix 04: JSX vs. createElement Appendix 05: PropTypes Appendix 06: p

  • Rust触ってみたらかなり良かった話 - blog::wnotes.net

    触ってみた感触 とても良いです( ˘ω˘)まだ日語のエントリあんまりないので書いてみます。 [2015/05/20追記] v1.0がリリースされてちょくちょく見てくださってる方がいるようなのですが、エントリのRustのバージョンは0.9(だと記憶しています)です。もしかしたら言語仕様が変わってる可能性もありますのでご了承くださいませ。 あとコメント頂いた部分を修正しました。ありがとうございます。 Rust言語とは Rust は実験的な並列かつマルチパラダイムのプログラミング言語である。モジラによって開発中である[3]。純関数型プログラミング、並列アクターモデル、手続き型プログラミング、オブジェクト指向プログラミングをサポートする実用的な言語を目指し開発中である。 Rust(プログラミング言語)より ということで、Mozillaが開発している言語です。シンタックスはほぼC++な感じですが

  • Julia : スクリプト言語最速? 手軽さと速さを求めた科学技術計算向け言語 | プログラマーズ雑記帳

    一般的に Ruby, Python といったスクリプト言語は手軽に書けるけど、遅いという特徴があります。 今回はスクリプト言語でありながら、速度も求めた Julia という言語を紹介します。 Julia は科学技術計算向けですが、汎用的な用途にも使えると思います。 ちなみに計算時間は速いみたいですが、立ち上がりがすごく遅いので、 タイトルにはちょっと偽りがあります。 The Julia Language 先に科学技術計算の分野と、よく使われている言語について簡単に説明します。 科学技術計算というのは線形代数、数値解析、統計解析など専門的な数値計算をする分野です。 大抵のアプリではディスクアクセスやネットワーク通信が先にスピードネックになることが多いので、 純粋に言語としての速度が求められる分野でもあります。 数値計算に関しては Fortran という言語が大昔からあります。 これは簡単なも

  • プログラミング言語Rust

    注意: 最新版のドキュメントをご覧ください。この第1版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。 プログラミング言語Rust ようこそ!このはプログラミング言語Rustの教材です。Rustは安全性、速度、並行性の3つのゴールにフォーカスしたシステムプログラミング言語です。 ガーベジコレクタなしにこれらのゴールを実現していて、他の言語への埋め込み、要求された空間や時間内での動作、 デバイスドライバやオペレーティングシステムのような低レベルなコードなど他の言語が苦手とする多数のユースケースを得意とします。 全てのデータ競合を排除しつつも実行時オーバーヘッドのないコンパイル時の安全性検査を多数持ち、これらの領域をターゲットに置く既存の言語を改善します。 Rustは高級言語のような抽象化も含めた「ゼロコスト抽象

  • 量産型プログラマを撲滅したい

    プログラマの生産性の差は、出来る人と出来ない人で10倍とも100倍とも言われる。そんな馬鹿な、と思われるかもしれないが、事実だ。 むしろ、一緒に働かせると、出来るプログラマが、下手に作られたプログラムの修正をしなければいけなくて、全体の生産性を落とすことになる。 つまり、出来ないプログラマはチームで働くと、生産性をマイナスにするのだ。厳しいことを言えば、いない方がマシなのである。 ソフトウェア開発にの手はいらないのだ。 では、出来ないプログラマとはどんな人たちか。 コピペで書くプログラマだ。他で動いているプログラムをコピペして、なんとなく直して書いているプログラマだ。 なぜプログラムが動くのか、どう書けば動くのか、わかっていない。 ただ沢山のプログラムを書くだけの量産型プログラマだ。こういう人のプログラミングは、デバッグさせてみて、横で見てるとすぐにわかる。 まず、エラーメッセージを見な

  • 優秀なエンジニアになる方法: 電子情報通信学会誌 Vol.84 No.10 pp.741-749 2001年10月

  • バグなどの謎の現象に立ち向かうも闇が濃く、どうしても沼から脱出できない時に見るフローチャート - Thanks Driven Life

    ご査収ください (2022年12月8日 追記) フローチャートを書き直しました。内容自体は当時のものと同じです。 補足 パフォーマンスの出し方は人それぞれなので「私はこんな感じです」というものです。 とりあえず「なんかやばいな?」と思ったら休む 体調的にはもちろん、「これ結構やばそうだな?」という勘所は大事 15分以上(長くても30分)悩んだら周りに聞いてみる こういう時はだいたい 視野が狭くなっている(簡単なスペルミスだったり) 暗黙知に触れている(業務だとよくある) とてつもない難問にぶちあたっている といったケースなので、仲間にSOSを出した方がチーム全体の進捗も結果的に良くなる、という経験談です。 ちなみに15分の根拠はなんとなくです。 ちなみに、問題に取り組み始めるその瞬間から「15分やってわからなかったら誰かに聞こう」としている場合は、 フローチャートの「30分動いてなかったら

    バグなどの謎の現象に立ち向かうも闇が濃く、どうしても沼から脱出できない時に見るフローチャート - Thanks Driven Life
  • 2016年に使った&来年使いそうな JavaScript 関連のものと所感 - kitak blog

    2016年に使った&来年使いそうな JavaScript 関連のもの 以下のカテゴリでなんとなく書いてみます。去年と比べて大きく変わらないかんじです。動きの早かった 2, 3年前から、年々、動きはゆっくりになってきているというのが個人的な印象。 トランスパイラ ビューライブラリ/フレームワーク モジュールバンドラ タスクランナー パッケージマネージャ テスティング トランスパイラ 2016年に使った: Babel。各ブラウザの JavaScript エンジンで ES2015~ES2017 の実装が進んでいるので、関わっている案件のブラウザのシェア次第なところもありますが、ES2015~ES2017 の仕様だけトランスパイルしたいのであれば、再来年あたりから要らなくなるんじゃないかな、という気持ち。 来年使いそう: 静的型付けがメインで、ES20XX から ES5 へのトランパイルは副次的で

    2016年に使った&来年使いそうな JavaScript 関連のものと所感 - kitak blog
  • Go の並行処理 - Block Rockin’ Codes

    intro 先日の Go のカンファレンス GoCon で、 Go の並行処理周りについて発表させて頂きました。 Go Conference 2013 spring - connpass 具体的には Goroutine や Channel の話ですが、これらの機能は結構面白くて、いじって遊んでるだけでもわくわくします。 Go の並行処理は、設計方針がわりと特殊だと思うのですが、設計がシンプルなので分かるとそこまで難しくはないです。 (使いこなすのは、経験が必要そうですが) 今回話すにあたって色々調べましたが、発表時間の都合上省いたものもあるし、質疑応答で聞かれて応えられなかったこともあるので、 ここでまとめて置こうと思います。 発表資料 今回の発表資料はこちらです。 このブログの内容は、これをベースにします。 http://jxck.node-ninja.com/slides/gocon-

    Go の並行処理 - Block Rockin’ Codes
  • Pythonエンジニアが紹介する、Pythonの超便利なライブラリ・フレームワーク13個 - paiza times

    Photo by hoerner_brett 秋山です。 私は主にPythonを使って開発をしているので、今回はPythonの便利なライブラリやフレームワークを紹介していきたいと思います。 といっても割と定番のものを中心に使っているので、既にPythonをがんがん使っている人にとっては「知ってるわ!」というものも多いかと思います。「最近Python書くようになりました~」という人たちにも「これ良い!」ってものが見つかればと思います。 ちなみに前回はPython2系と3系の違いについて書いてますので、「3系に移行しよっかなー」と考えている人は合わせて見てみてください。 paiza.hatenablog.com ■Pythonの便利なライブラリやフレームワーク ◆Web開発系フレームワーク ◇Django みんな大好き有名なDjangoRubyでいうところのRailsのような……全部のせ的な

    Pythonエンジニアが紹介する、Pythonの超便利なライブラリ・フレームワーク13個 - paiza times
  • Pythonで常に意識すべき非直感的な振る舞い

    Pythonには独特の仕様がいくつかあります。 その中には、他のLLを習得している方ほど気が付きにくく、認識を誤りやすいものがあります。 そこで、Pythonで頻繁に用いる仕様の中から、意外と知る機会の少ない仕様を七つ取り上げます。 Pythonって愛嬌がありますよね はじめまして、寺坂です。 ビザスクのエンジニアです。 業務的にはビザスクのエンジニアの例に漏れず、主にPythonと{ECMA,Type}Scriptを喋ります。 私はLinuxユーザーであることも相まって2006年頃に趣味としてPythonを触り始めたときから、 なかなかに面倒くさいこの言語に日々愛嬌を感じずにはいられません。 とはいえ業務で書くとなると愛嬌では済まされない部分もあります。 ビザスクの開発チームでは、管理しているコードのうちプログラミング言語に限れば60%が、そこから{ECMA,Type}Scriptを除く

    Pythonで常に意識すべき非直感的な振る舞い
  • iOSアプリの設計とDependency Injection

    iOSオールスターズ2 https://eventdots.jp/event/602872

    iOSアプリの設計とDependency Injection
  • Go言語(Golang) はまりどころと解決策

    Go の言語仕様はシンプルで他の言語に比べてはまりどころが少なくて学習コストが小さめな言語のように思います。しかし、それでもはまるところがないわけではないので、自分がはまって時間を無駄にしてしまったことを書き留めておきます。 念の為誤解のないように追記しておくと、この文書の目的は Go を批判することではなく GoGo であるがゆえに C++/Java/Python など利用者が Go を使い始めるときに困惑あるいは誤解するであろうポイントをまとめておくことで初めて Go を触る人がスムーズに Go を使い始められるようにすることです。私個人は Go はバランスがとれた良い言語でだと思いますし、気に入っています。 目次 interface と nil (Go の interface は単なる参照ではない) 文献 メソッド内でレシーバ(this, self)が nil でないことをチェ

  • PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016

    2016/11/03 @ PHPカンファレンス2016 2016/12/15 @ PHPカンファレンス2016再演イベントにて改訂 2017/06/10 @ PHPカンファレンス福岡2017にて改訂 2017/06/10 @ PHPカンファレンス福岡2017講演録画 https://www.…

    PHP7 で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計 / PHP Conference 2016
  • golang で regexp パッケージを使うときに気をつけること - at kaneshin

    golang の Regexp は初期化の Compile コストがそこそこありますが、実は正規表現のパターンと対象となる文字列によって、初期化コストが無視できる(パターンと文字列に支配される)くらい遅くなります。よく言われる regexp の初期化コスト問題が無視できると言われても、正直、全く嬉しくないですね。 ただ、コーディング中に regexp パッケージを使わなければいけない場面は出てくるため、なるべくコストの掛からない実装を心がけています。 Compile/MustCompile 初期化コストはなくすため、グローバルに保持するようにします。 定義 var re = regexp.MustCompile("[a-z]{3}") func main() { fmt.Println(re.FindAllString("foobarbazqux", -1)) // => [foo bar

    golang で regexp パッケージを使うときに気をつけること - at kaneshin
  • WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD

    Webアプリにリアルタイムの双方向通信が必要な場合、WebSocketを選ぶのは自然なことだと思います。では、どのツールでWebSocketサーバを構築すべきでしょうか。パフォーマンスは重要ですが、開発のプロセスも見過ごしてはなりません。パフォーマンスを基準にするだけでなく、開発のしやすさも考慮に入れるべきでしょう。今回の大合戦では、Clojure、C++、Elixir、Go、NodeJS、Rubyのそれぞれの言語によって慣用的な手法で実装されたシンプルなWebSocketサーバを比較したいと思います。 テスト内容 サーバに実装するのは、 echo と broadcast の2つのメッセージのみを扱う非常に単純なプロトコルです。echoは送信クライアントに返され、ブロードキャストは全ての接続クライアントに送信されます。そしてブロードキャストが完了すると、結果メッセージが送信者に返されます。

    WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD
  • Aho Corasick 法 - naoyaのはてなダイアリー

    適当な単語群を含む辞書があったとします。「京都の高倉二条に美味しいつけ麺のお店がある」*1という文章が入力として与えられたとき、この文章中に含まれる辞書中のキーワードを抽出したい、ということがあります。例えば辞書に「京都」「高倉二条」「つけ麺」「店」という単語が含まれていた場合には、これらの単語(と出現位置)が入力に対しての出力になります。 この類の処理は、任意の開始位置から部分一致する辞書中のキーワードをすべて取り出す処理、ということで「共通接頭辞検索 (Common Prefix Search)」などと呼ばれるそうです。形態素解析Wikipediaはてなキーワードのキーワードリンク処理などが代表的な応用例です。 Aho Corasick 法 任意のテキストから辞書に含まれるキーワードをすべて抽出するという処理の実現方法は色々とあります。Aho Corasick 法はその方法のひと

    Aho Corasick 法 - naoyaのはてなダイアリー