タグ

Pythonとあれげに関するagricolaのブックマーク (25)

  • ディープラーニングのための線形代数入門:一般的演算の初学者向けガイド | POSTD

    Jeremy Howardによる ディープラーニングの素晴らしいコース を受講している間、自分の前提知識がさびついてきているせいで、誤差逆伝播法のような概念が理解しにくくなっていることを認識しました。そこで、理解度を上げるべく、そうした概念に関するいくつかのWikiページをまとめてみることにしました。記事では、ディープラーニングでよく使われる線形代数演算のいくつかについて、ごく基的な事項をざっとご紹介します。 線形代数とは? ディープラーニングの文脈での線形代数とは、数の集合を同時に操作するための便利な手法を提供してくれる、数学的ツールボックスです。これらの数値を保持するためのベクトルや行列(スプレッドシート)のような構造体と、それらを加算、減算、乗算、および除算するための新しい規則を提供します。 線形代数が便利な理由 線形代数は、複雑な問題を単純で直感的に理解できる、計算効率の良い問

    ディープラーニングのための線形代数入門:一般的演算の初学者向けガイド | POSTD
    agricola
    agricola 2017/05/17
    初っぱなが酷いな。シーケンスの要素ごとの掛け算をnumpyでやったら線形代数がスゴいのか?つかfor i in range(len(x))とかPython使いが忌むべきコードの筆頭だぜ?
  • フォーマット文字列リテラル/非同期プログラミング機能など、Python 3.6で追加された新機能をザックリ理解しよう

    連載目次 2016年12月23日にPythonの最新版であるバージョン3.6がリリースされた。稿ではその中でも特徴的な新機能を幾つか紹介していく。 Python 3.6で追加された主要な新機能 Pythonのドキュメント「What's New In Python 3.6」や、そのリリースノート(英語)にはPython 3.6で追加された機能や、変更点がまとめられている。 大まかなところを拾っていくと、構文的には以下のような機能が追加されている。 フォーマット文字列リテラル: いわゆる文字列補間 数値リテラルでのアンダースコアの使用: 「123456」を「123_567」などと記述可能 型注釈: 関数のパラメーター/戻り値の型に加えて、変数にも型注釈を付加可能に 非同期ジェネレータ: Python 3.5の非同期イテレータに加えて、非同期ジェネレータもサポートされた 非同期内包表記: 「a

    フォーマット文字列リテラル/非同期プログラミング機能など、Python 3.6で追加された新機能をザックリ理解しよう
    agricola
    agricola 2017/02/26
    むう。非同期ジェネレータの使い方が今一つピンとこないな。
  • Unicodeでは濁点や半濁点を別扱いしてることがあるので結合した - はてなの鴨澤

    PDFをテキストに変換して使うことがときどきあります。 今日処理してたPDF電子書籍の中に、テキストデータは持っているのに、なんかしらんけど検索がうまくかからないことが多い、という変なファイルがありました。ぜんぜん検索できないならまだわかるんだけど、できる検索語とできない検索語があるかんじ。 pdftotextでテキストファイルにしてみたところ、なんとこのテキストファイルが同じように検索できたりできなかったりする。さすがにちょっと不思議。 で、「が」という文字が入ってると検索がかからないのに気がついたので、「が」だけ切り出したテキストファイルを作り、ほかに普通のエディタで「が」だけ入力したテキストファイルを作って、PythonでUnicodeコードポイントを見てみました。ga.txtが検索のかからないもの、ga2.txtがかかるものです。 >>> for line in open('ga

    Unicodeでは濁点や半濁点を別扱いしてることがあるので結合した - はてなの鴨澤
    agricola
    agricola 2016/01/19
    Macで作成されたZIPファイルに入ってるファイルの名前がこれだと、Windowsのエクスプローラで展開できないという悲惨な事態を招く。
  • FIEMAP ioctl from Python

    agricola
    agricola 2012/12/18
    Linuxでファイルの断片化を調べる。
  • 簡単なクローラ作るならPythonだよ!

    http://d.hatena.ne.jp/nishiohirokazu/20120323/1332504404 最近、Webクローラクライアントを作るお仕事が増えた。WebクローラクライアントというのはHTTP(S)を介して様々なファイルをダウンロードして解析し、結果を溜め込むだけのプログラムである。ボットともいう。 クローリングの規模が大きくなると、クロール処理部と結果貯蓄部を分離する必要がある。クローラには様々なものがあるが、ものによっては特定のサーバに集中的にクローリングを行うこともある。このとき、1つのIPを使って集中的にクローリングを行うと、攻撃とみなされ一瞬でbanされてしまう。そこで、一見するとまったく関係なさそうなIPを複数確保し、それぞれにクローラーを仕掛けて走らせるのである。 結果貯蓄部は、要するにデータベースサーバであり、何を使用しても良い。クロール処理部とのやりと

    簡単なクローラ作るならPythonだよ!
    agricola
    agricola 2012/03/25
    sqlite云々以前にRDB要らなくね?俺が昔クローラ書いたときは、コンテンツ自体はファイルに落として、URLをキーにしたshelveの中にLast-ModifiedとかEtagとかローカルファイルのパスとかをまとめたタプルを突っ込んでた。
  • Pythonでスリープソート書いてたら multiprocessing の最小構成サンプルになった - mizchi log

    Pythonなら短く書ける。スリ〜プソ〜トはネタとして面白いが実用性は皆無。 だけど、multiprocessingはガチで実用的なモジュール。(Python2.6以降の標準ライブラリ) #!/usr/bin/env python from time import sleep from multiprocessing import Pool from random import randint num = 20 def sleep_sort(n): sleep(n) print(n) Pool(num).map( sleep_sort, [randint(1, num) for i in xrange(num)] ) Pool#mapの返り値はそれぞれの実行結果のリストなんだけど、sleep sortでは役に立たないので割愛 常識を覆すソートアルゴリズム!その名も"sleep sort"!

    Pythonでスリープソート書いてたら multiprocessing の最小構成サンプルになった - mizchi log
    agricola
    agricola 2011/05/20
    こないだmultiprocessingでフラクタル画像描いてみたんだけど、Linuxマシンで動いたコードが、Windows XPじゃ0除算例外吐いて動かんかったorz。
  • Universal Encoding Detector: character encoding auto-detection in Python

    Character encoding auto-detection in Python. As smart as your browser. Open source. >>> import urllib >>> urlread = lambda url: urllib.urlopen(url).read() >>> import chardet >>> chardet.detect(urlread("http://google.cn/")) {'encoding': 'GB2312', 'confidence': 0.99} >>> chardet.detect(urlread("http://yahoo.co.jp/")) {'encoding': 'EUC-JP', 'confidence': 0.99} >>> chardet.detect(urlread("http://amazo

    agricola
    agricola 2011/01/26
    mozillaブラウザのためにC++で記述されたエンコーディング自動判定処理をPythonで書き直したのがコレ。テキスト処理には欠かせない定番モジュール。
  • android-scripting - Google Code

    Code Archive Skip to content Google About Google Privacy Terms

    agricola
    agricola 2010/12/27
    俺のTabがPython電卓になるのかッ!?
  • ActiveState、マルチ言語・マルチプラットフォーム対応IDE「Komodo 6」をリリース | OSDN Magazine

    ActivePerlを開発/リリースしていることで知られるカナダActiveState Softwareは10月7日、PythonPHPRubyPerlなどに対応する統合開発環境「Komodo IDE 6」を発表した。Python 3などの言語対応が加わり、性能も改善した。価格は1ユーザーあたり382ドル。21日間無料試用や割引キャンペーンも実施している。 Komodo IDEは、PythonPHPPHPRubyJavaScriptPerl、Web開発などに対応する統合開発環境。WindowsおよびMac OS X、Linuxで動作する。PHPPythonPerlRuby、Tcl向けのデバッグ機能も搭載するほか、コードブラウザ、シンタックスハイライト機能や文法チェック機能、自動補完機能などを備えたコードエディタなど、ソフトウェア開発をより快適にする機能を備えている。

    ActiveState、マルチ言語・マルチプラットフォーム対応IDE「Komodo 6」をリリース | OSDN Magazine
    agricola
    agricola 2010/10/12
    無償利用可能なエディタKomodo Editも6.0になってるので、とりあえず後で試すか。Emacsのpython-modeのスマートインデントに慣れると、他のはどうもしっくり来なくて……。
  • BI_RLE Decoder « Python recipes « ActiveState Code

    agricola
    agricola 2010/10/04
    Windowsの圧縮BMPを展開。昔Cで書いて散々に苦労した憶えが……っていうか、ファイルヘッダの解析にはstructモジュール使えばいいと思うが。
  • ASPN : Python Cookbook : Tail Call Optimization Decorator

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 #!/usr/bin/env python2.4 # This program shows off a python decorator( # which implements tail call optimization. It # does this by throwing an exception if it is # it's own grandparent, and catching such # exceptions to recall th

    agricola
    agricola 2010/10/03
    末尾再帰関数をループに展開するデコレータ?
  • プログラミング言語の特徴を視覚的に比較する - Radium Software

    The Computer Language Benchmarks Game のページでは,計 32 個のプログラミング言語処理系のベンチマークを集計して,そのパフォーマンスを比較している。そして最近,このページに新たなプロットが追加された。単純にパフォーマンスだけの比較を行うのではなく,パフォーマンスと「コードの長さ」を関連付けて比較を行うというものだ。上はそのプロットから一部を転載したもので,全体はこのページで見ることができる。 このプロットでは,縦軸が処理時間(上にいくほど遅い),横軸がコードの長さ(右にいくほど冗長)に割り当てられている。このようなプロットを行うと,多くの言語は3通りの偏り方を見せる ― 左上(簡潔だけど遅い)に偏る「スクリプト系」,右下(速いけど冗長)に偏る「システム系」,そして,左下(速くて簡潔!)に偏る「理想系」だ。ちなみに,右上(遅くて冗長)に偏る言語は無い…

    プログラミング言語の特徴を視覚的に比較する - Radium Software
    agricola
    agricola 2010/10/01
    CPythonとPython3とIronPythonとPyPyってどんだけPython好きだよ(でもJythonは無いな)>元記事。ちょっとLuaも気になる。
  • やる夫と Python で学ぶ Twitter の OAuth - 宇宙行きたい

    OAuth 調べてみたら難しくて理解出来なかったので, Python で標準ライブラリだけで 1 から書いてみました. /      \ /  _ノ  ヽ、_  \ / o゚((●)) ((●))゚o \  twitter の OAuth 難しいお… |     (__人__)'    | \     `⌒´     / ____ /⌒  ⌒\ /( ●)  (●)\ /::::::⌒(__人__)⌒::::: \   だからやる夫でやるお! |     |r┬-|     | \      `ー'´     / Python のサンプルコードを付けていますが, 上から順に読めるようにおもいっきり手続き型で書いています. コメントで実際の処理の説明を書いています. Consumer Key と Consumer Secret の入手 / ̄ ̄\ /    u  \      .____ |:

    やる夫と Python で学ぶ Twitter の OAuth - 宇宙行きたい
    agricola
    agricola 2010/09/29
    リスト内包の使い方に美がないなぁ……。辞書のキーと値を、キーで並べ替えて取り出して=で連結するなら['='.join((k, v)) for k, v in sorted(d.items(), key = lambda x: x[0])]とか書く気がする。
  • PythonプログラマのためのErlang入門 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 例によって翻訳です。Erlang for Python Programmersという英文記事の翻訳です。 Pythonを使っている人が関数型言語の考え方を学ぶのによい記事になってます。 Pythonはコードが分かりやすいので,Pythonistaだけでなく,RubyPerlPHPそしてJavaのような命令型言語を使っている人にとっても有益な記事だと思います:-)。 初めに ここ数年,Erlangへの注目が高まっている。Erlangのプログラミングモデルはプロセス間でメッセージをやりとりするだけで実行する並行プロセスに根ざしている。それぞれのプロセスはとてもシンプルな関数型言語で作ら

    agricola
    agricola 2010/09/15
    Pythonでも3だと[H|T] = LはH, *T = Lとか書けるけどな。Erlangはチュートリアルをかじったけど挫折中。
  • What’s New In Python 3.2

    What’s New In Python 3.2¶ Author: Raymond Hettinger This article explains the new features in Python 3.2 as compared to 3.1. Python 3.2 was released on February 20, 2011. It focuses on a few highlights and gives a few examples. For full details, see the Misc/NEWS file. PEP 384: Defining a Stable ABI¶ In the past, extension modules built for one Python version were often not usable with other Pytho

    What’s New In Python 3.2
    agricola
    agricola 2010/09/14
    functoolsにlru_cacheなんてデコレータが。3.2が正式にリリースされたら、自分でmemoizeデコレータを書く必要すら希薄になるじゃないか。Pythonの「電池付属」っぷりはマジパネェな……。
  • Python入門:デコレータとは

    前から常々思っていることだが、何かについて勉強する一番効率的な方法はそれを誰かに教えること。人に教えようとすると、それなりに準備をしなければならないし、自分の頭の中を整理しなければならない。また教える過程でするどい質問をされたり間違いを指摘されて、さらに勉強を強いられることもある。 私がこの手の「入門編エントリー」を書くのは、ほとんどの場合「自分自身の理解をより深めたい」ことが一番の目的であるが、ブログの場合、教室などと違って「その道の達人」みたいな人たちがツッコミを入れてくれるケースもしばしばあるので、そのメリットは何倍にもなる。 先日のクロージャに関するエントリーなどは良い例で、「そんな用途にはmemoizeというデコレータが便利」などの指摘がいただけだけであれを書いた価値があるというもの。 そこで、今日はPythonのデコレータに関して。デコレータがPythonという言語に導入された

    agricola
    agricola 2010/09/10
    "We learn by teaching"ですね、わかります/最後の※は理解度が残念賞。こんな書き方したら、cache.setdefault()を呼ぶ度にorg_func(*args)が呼び出されてしまうではないか。メソッドに渡される引数は遅延評価なんてされないぞ。
  • 2.6に新搭載のmultiprocessingを見て俺のPythonがおっきした件 | TRIVIAL TECHNOLOGIES 4

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー いやー,multiprocessingモジュールイイよ。パねえよ。要はプロセス間通信を行うときに便利なパッケージで,threadingと似たようなAPIなのでGILが回避できてマルチプロセッサとかマルチコアの性能を有効に使えてウハウハとか,リモートマシンにあるプロセスと通信したりオブジェクトをやりとりしたりできてウハウハとか,まあそういうモノです。これでおっきしない奴は技術者として大切な資質を失っていると思うよ。べつにおっきしなくてもいいんだけど,そういう奴とは一緒に仕事したくないよ。 ドキュメントのイントロダクションを超訳してみたです。 はじめに multiprocessingはth

    agricola
    agricola 2010/08/21
    今更だが勉強してMandelbrot setを描くのだ。
  • PyPIが落ちていたとき慌てずにミラーを使う方法

    Takayuki Shimizukawa @shimizukawa .@rengi644 PyPI? とりあえず b.pypi.python.org とか pypi.python.jp とかで代用だ! 2010-08-03 12:12:49

    PyPIが落ちていたとき慌てずにミラーを使う方法
    agricola
    agricola 2010/08/06
    あるサイトへのアクセスを別のサイトへのアクセスにすり替えるならhostsいじりとプロキシは基本。
  • モダンなPythonの開発環境の構築方法 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー インストール Windows以外の多くのプラットフォームではすでにPythonが入っている。バージョンを調べて,使いたいバージョンより古いならインストーラやパッケージを使ってインストール。パッケージは「〜devel」をインストールしておく。 easy_installのインストール easy_installは標準ライブラリに含まれていないサードパーティモジュールをインストールする時に便利なので,入れとく。 ここからez_setup.pyをダウンロード,Pythonのスクリプトとして実行すると,自動的にコマンドがインストールされる。 $ easy_install pachage_name

    agricola
    agricola 2010/07/30
    んー、俺はどっちかというとエディタについて知りたいんだが。
  • Python 2.x系最後のメジャーバージョンアップとなるPython 2.7リリース | OSDN Magazine

    2010年7月3日、オブジェクト指向プログラミング言語である「Python 2.7」がリリースされた。Python 2.x系最後のメジャーバージョンアップとなる。 Pythonは現在、過去のバージョンとの互換性を保ちつつアップデートが行われているPython 2.x系と、Python 2.x系とは一部機能や仕様で互換性を持たないPython 3.x系がリリースされており、今回リリースされたPython 2.7はPython 3.x系の最新版であるPython 3.1系の多くの機能がバックポートされているのが特徴となる。 Python 2.7の特徴や新機能としては下記が挙げられている。 順序付き辞書型 テストのスキップ機能や新たなassertメソッドを備えた新しいunittestモジュール ioモジュールの高速化 str.format()メソッドでの自動番号付けフィールド Float型から文

    Python 2.x系最後のメジャーバージョンアップとなるPython 2.7リリース | OSDN Magazine
    agricola
    agricola 2010/07/06
    「Setおよび辞書の包含」包含じゃなくて「内包」じゃないのかなこれ。