タグ

algorithmとPythonに関するgigi-netのブックマーク (8)

  • TinySegmenterをJulia移植したらMITの先生に指導してもらえた話 - once upon a time,

    先日、工藤さんがJavaScript向けに作った日語のコンパクトな分かち書きツール、TinySegmenterをJuliaに移植したTinySegmenter.jlを作りました。 もともとは、PyconJPでjanomeの話を聞いたら居ても立っても居られなくなって、簡単なTinySegmenterを移植したんですが、そしたら思いもよらぬ展開が待っていました。 [2015/10/22 23:38 追記] 計測の問題を @repeatedly さんから指摘いただいたので再計測しました。 パッケージ登録時にMITの先生からツッコミが入る JuliaのパッケージはMETADATA.jlというセントラルなレポジトリで管理されています。 ここに登録されたパッケージはPkg.add("TinySegmenter")とREPLで実行するだけでパッケージが導入できます。*1 ここに登録をしようとした時に、

    TinySegmenterをJulia移植したらMITの先生に指導してもらえた話 - once upon a time,
  • JavaのTimSortがバグってる件について | さにあらず

    Python で実装され、その後 Java にも移植されたソートアルゴリズムである TimSort が盛大にバグっていることが発見されました。 このバグがどのようにして発生するのかについては、以下のドキュメントを精査して下さい。 TimSort fails with ArrayIndexOutOfBoundsException on worst case long arrays OpenJDK’s java.utils.Collection.sort() is broken: The good, the bad and the worst case どんなことが起こるのか​ 通常の利用では想定しえない場所でArrayIndexOutOfBoundsExceptionが発生します。 例えば、以下のようなスタックトレースになります。 Exception in thread "main" jav

    JavaのTimSortがバグってる件について | さにあらず
  • 実装ディープラーニング

    第2回3D勉強会の研究紹介スライドです。 [論文概要] ニューラルネットワークに組み込むことができる3Dメッシュのレンダラーである Neural Renderer を開発しました。『逆伝播』と呼ばれる処理をニューラルネットワークに適した形に定義し直したことがポイントです。そしてこのレンダラーを (a) 単一画像からの3Dメッシュの再構成 (b) 画像から3Dへのスタイル転移と3D版ディープドリームへと応用しました。

    実装ディープラーニング
    gigi-net
    gigi-net 2013/11/13
    scipyによるDeep-Learning実装
  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

  • pythonでnatsort(自然順ソート) - Python仲間募集中

    python以前の記事でリストのメソッドのsortを試していたとき、自然順ソートができればいいのになぁと思っていました。自然順ソートとは、人間が見て自然なソートであり、HumanSortとかいうらしいです。 ls = ["a15", "a1", "a2"] ls.sort() print ls 通常のソートだと、辞書順に並べるので、「a1, a15, a2」という順に並びます。コンピュータ的にはこれが自然なのでしょうが、人間としては「a1, a2, a15」と並んでほしい。それが自然順ソートです。PHPだとnatsortという組み込み関数があるようですが、pythonにはありません。そこで見かけたのが、Coding Horror: Sorting for Humans : Natural Sort Orderの簡潔なスクリプトでした。以下に引用します。 import re def sort

  • 自然言語処理にはやっぱりPythonがいちばん - nokunoの日記

    Quoraで「自然言語処理に適したプログラミング言語はどれか?」という質問をしたところ,やっぱりPythonが一番人気のようです.What programming language is suitable for natural language processing? - Quora理由として以下が挙げられていますNLTKがあるから正規表現ライブラリ(re)が強力だからnumpyとscipyがあるから スクレイピングにBeautifulSoupやScrape.pyが使えるから Django / Pylons / TornadoのようなWebフレームワークがあるから また,機械学習のライブラリを言語別にまとめた質問もありました.こちらもJava, Python, Rが多いですね.Which programming language has the best repository of ma

  • 第6回 Numpyの導入 | gihyo.jp

    今回は第3回の冒頭で紹介した、Numpyの導入方法と簡単な使い方について説明します。次回で様々な分布を扱うためにNumpyの準備をしておきましょう。 Numpyの導入 Numpyはオープンソースの拡張モジュールで行列や多次元配列と、それらを操作するための数学関数ライブラリを提供しています。Numpyの内部はC言語で実装されているため、普通にPythonで実装した時と比較するとはるかに高速に実行することが可能です。 ここではインストールの仕方とNumpyの簡単な実行例を確認しておきましょう。 インストール WindowsMacOSXのPCにNumpyをインストールする場合は、NumpyのサイトのDownloadのページの上の方にあるNumPyのProjectからインストール先のマシンのOSに対応したファイルをダウンロードして実行してください。 しかし、MacOSXにデフォルトでバインドされ

    第6回 Numpyの導入 | gihyo.jp
  • 人工無脳ã�®ã‚½ãƒ¼ã‚¹ã€€ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚³ãƒ³ãƒ†ã‚¹ãƒˆå‹‰å¼·ä¼šã�«ã�¦ - Python Snipplr Social Repository

    人工無脳�ソース アルゴリズムコンテスト勉強会�� アルゴリズムコンテスト�勉強会�紹介��Google App Engine�動�pythonコード�� Djangoフレームワークを��������。 ��りコード�����考��ら���も知れ��ん���れ���も簡��人工無脳���るん���

  • 1