Use the left and right arrow keys or click the left and right edges of the page to navigate between slides. (Press 'H' or navigate to hide this message.)

自分で小さいツールを作る時に心に留めているtipsです. 書き始めたときは「どうせ書捨てだし」と思って書き始めると意外と長い間,もしくはいろんなところで使うことになったりするので,気をつけておくと後から楽になるというような小技です.大規模なソフトウェアの開発ではまた違った流儀があると思います. メインルーチンを関数にする 関数名はなんでもいいのですが,自分は趣味で main() という名前の関数を用意し,メインルーチンは全てそこに書くようにしています. pythonの小さなサンプルコードを見たりすると関数外の部分にベタで実行コードが書かれていたりします.もちろんそれでも動くのですが,以下の2点で後々面倒になることがあります. グローバル変数だらけになり管理が追いつかなくなる:「どうせ小さなスクリプトだし」ではじめると最初は見通しが良くてもだんだんどこでどの変数名を使っているか分からなくなっ
Python ヒッチハイク・ガイド¶ Python ヒッチハイク・ガイド へようこそ。 これは皆さんの手により生きているガイドです。 貢献したい方は GitHub で fork してください! この手作りガイドは、初心者と熟練者のPython開発者の両方に、Python のインストール、設定、および使用に関するベスト・プラクティスを日々提供するために存在します。 このガイドは、ほとんど 独断的なもの であり、Python の公式文書では ありません 。 ここでは、すべての Python Webフレームワーク の一覧は見つからないでしょうが、強く推奨されているリストが簡潔に見つかるでしょう。 さあ、始めましょう! まずは、あなたの探しものがどこにあるかを確認しましょう。
Pythonのasyncio、またasync/awaitについてはあまり実践的な例が出回っていなかったため、収集した情報をもとに用例ベースの逆引きリファレンスを作ってみました。 ただ、この辺はほんとに情報がなくて何が真実なのか謎に包まれている点があるので、情報をお持ちの方はぜひご連絡をいただければと思います。 今回紹介する例は、以下のgistにまとめてあります。実装時の参考にしていただければと思います。 icoxfog417/asyncio_examples.py はじめに Pythonにはthreading、multiprocessing、asyncioとどれも並列処理に使えそうなパッケージが3つあります。これらの違いをまず押さえておきます。 これらのパッケージの違いは、そのまま「マルチスレッド」、「マルチプロセス」、「ノンブロッキング」の違いに相当します。まず、マルチスレッドとマルチプ
皆さんこんにちは お元気ですか?私は元気です。 Pythonにおける高速化手法を掲載してみます。 簡単なコード並びに索引のような感じで引けるようなイメージで作成しました。 本日の目次です。 Pythonにおける高速化の必要性 Pythonの高速化 高速化の手順 Profiling 基本的な条件 計測コード Pythonの基本的な書き方部分 rangeよりxrangeを(Python2.7) リストの生成 文字列結合 Import文のコスト 関数呼び出しのコスト ドットを避ける yieldを使う Numpyに関するTips Numpyを使用して基本演算を高速化する Numpyの要素にアクセスする演算をしない Numbaで手早く高速化 その他高速化ツール Cython Dask PyPy 感想並びに展望 参考文献 Pythonにおける高速化の必要性 PythonはC++やJavaと比較すると非
(編注:2020/10/01、2016/07/29、いただいたフィードバックをもとに記事を修正いたしました。) 目次: さまざまな勾配降下法 バッチ勾配降下法 確率的勾配降下法 ミニバッチ勾配降下法 課題 勾配降下法を最適化するアルゴリズム Momentum(慣性) Nesterovの加速勾配降下法 Adagrad Adadelta RMSprop Adam アルゴリズムの可視化 どのオプティマイザを選ぶべき? SGDの並列化と分散化 Hogwild! Downpour SGD SGDのための遅延耐性アルゴリズム TensorFlow Elastic Averaging SGD 最適化されたSGDに対する更なる戦略 シャッフル学習とカリキュラム学習 バッチ正規化 早期終了 勾配ノイズ 結論 参考文献 勾配降下法は、最適化のための最も知られたアルゴリズムの1つです。これまではニューラルネット
オンライン・オフラインのリソースで勉強に使ってるもの一覧。 多少プログラミングしていて少々の知識があるといいかも。 人工知能・機械学習に必要な教材やTipsを載せていくブログはこちら 努力1mmブログ Coursera Machine Learning 言わずと知れた機械学習の動画。Andrew Ngさんが丁寧に教えてくれる。日本語字幕あり。 Coursera : Machine Learning Coursera Natural Language Processing Courseraの自然言語処理講座。英語。 Coursera : Natural Language Processing 言語処理100本ノック こちらも言わずと知れたリソースかも。自然言語処理をプログラミングするために必要なプログラミングテクニックとかが学べる。 自然言語処理100本ノック Udacity Design
最近 TensorFlow を使ってディープラーニングで FizzBuzz 問題を解くっていうブログ記事を読んだんだけど、これが面白かった。 joelgrus.com そこで、自分でも同じようにディープラーニングを使って FizzBuzz 問題を解いてみることにした。 ただし、アレンジとして TensorFlow を直接使うのではなく、代わりに skflow を使ってみる。 skflow というのは TensorFlow を scikit-learn と同じインターフェースで扱えるようにしたラッパーだ。 これなら使い慣れた scikit-learn と同じ雰囲気で TensorFlow を使うことができる。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.5 BuildVersion: 15F34 $ py
今回は、iXce’s blog » Blog Archive » Optimizing memory usage in Python: a case study という記事を見つけて興味深かったので紹介したいと思います。何も説明書いてないところがあるので、詳しく知りたい人は元記事を読んでほしいです。 動機 プレーンテキストをGコードに変換するプログラムを書いている 3.8MB (14万Gコード) のファイルを読み込むと、244MBもメモリを使ってしまう だからメモリ使用量を減らしたい やったこと プロファイル どこがメモリをたくさん使ってるのか調べるためにHeapyを使う $ pip install guppy で入れられる。 するとこんな感じの結果が出力される。 Partition of a set of 225737 objects. Total size = 115386656 by
この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、Python版OpenCV、Python 2.7 ^(1) 、iPy
@ymyzk です. 3/20 に「漸進的型付け (Gradual Typing) について語る会」を開催しましたので, その様子をお知らせします. 概要 「漸進的型付け (Gradual Typing) について語る会」は「コマンドライン環境について語る会」の流れを汲むイベントで, コアなトピックについて情報共有する場を持つことを目的としています. 今回は漸進的型付けを採用したり影響を受けたとされる, TypeScript や Hack 等の実装関係のトピックについてのイベントとしました. 発表 予定していた3名による発表と, 飛び込みで1名の発表がありました. Gradual Typing のいろいろな実装 @ymyzk による発表で, 漸進的型付けを採用したり影響を受けたとされる様々な言語やツールについて紹介しました. https://speakerdeck.com/ymyzk/va
Pandasのグラフ描画機能 この記事ではPandasのPlot機能について扱います。 Pandasはデータの加工・集計のためのツールとしてその有用性が広く知られていますが、同時に優れた可視化機能を備えているということは、意外にあまり知られていません。 この機能は Pandas.DataFrame.plot() もしくは Pandas Plot と呼ばれるものです。 Pandas Plotを使いこなすことが出来るようになれば、 データの読み込み、保持 データの加工 データの集計 データの可視化 というデータ分析の一連のプロセスを全てPandasで完結させることが出来る、つまり分析の「揺りかごから墓場まで」を実現することが出来ます。 Pandasのプロット以外の機能について この記事ではPandasのデータハンドリングなどに関わる機能は説明しません。 そちらにも興味がある方は下記の記事などを
Python の concurrent.futures はバージョン 3.2 で追加された並行・並列処理用のパッケージ。 似たようなパッケージにはこれまでにも threading や multiprocessing があったんだけど、これはそれよりも高レベルの API になっている。 デフォルトでスレッド・プロセスプールが使えたり、マルチスレッドとマルチプロセスがほとんどコードを変えずに使い分けられるメリットがある。 下準備 使う Python のバージョンが 3.2 未満のときは PyPI にあるバックポート版のパッケージをインストールする必要がある。 $ pip install futures ただし、今回使う環境は Python 3.5 なので関係ない。 $ python --version Python 3.5.1 $ sw_vers ProductName: Mac OS X P
Mathematicaクックブックposted with カエレバSal Mangano オライリージャパン 2011-04-25 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 Wolfram Alphaの問題点 Sympyとは? ブラウザでSympyを使う JupyterでSymPyを使う インストール Sympyの数式処理の例題 多項式展開 方程式をある変数で解く 連立方程式を解く 数値を代入する 微分 積分 テイラー展開 極限 その他 Sympyを使ったエンジニアリング例題 三次元の回転行列を計算する SymPyによるCコードの出力 SymPyはJupyterと一緒に使うとかなり便利 参考資料 MyEnigma Supporters Wolfram Alphaの問題点 以前、Wolfram Alphaがすごいという記事を書きましたが、 myenigma.h
Sparkシリーズ第3弾の記事です。MLlibのLDAを使ってYahoo Newsの記事をトピックモデル(LDA:Latent Dirichlet allocation)でクラスタリングしてみます。 第一弾 【機械学習】iPython NotebookでSparkを起動させてMLlibを試す http://qiita.com/kenmatsu4/items/00ad151e857d546a97c3 第二弾 【機械学習】Spark MLlibをPythonで動かしてレコメンデーションしてみる http://qiita.com/kenmatsu4/items/42fa2f17865f7914688d 0. 環境 OS: Mac OSX Yosemite 10.10.3 Spark: spark-1.5.0-bin-hadoop2.6 Python: 2.7.10 |Anaconda 2.2.0
PyConJP2014発表資料。 ・正規表現リテラルは、**あれば便利だけどなくても困らない**(ライブラリでカバーできる)ことを説明する。 ・Pythonの正規表現が抱える問題点とその解決案を紹介する。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く