ブックマーク / vaaaaaanquish.hatenablog.com (9)

  • pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator

    - はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂

    pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator
    yag_ays
    yag_ays 2021/03/30
  • poetryを利用した動的なバージョン管理とGitHub ActionsによるPyPIへのrelease - Stimulator

    はじめに この記事を読んで出来る事 poetryによる外部モジュールバージョン管理 poetry-dynamic-versioningによる動的なバージョン付与 GitHub Actionsを利用したPython周りの基的なCI/CD設定 GitHubのReleaseタグ付与をTriggerとしたPyPIへのアップロード 今後私がPythonで何かライブラリ作ろうと思ったらこれを実施するぞというメモです はじめに poetryによるモジュールバージョン管理 PyPIへのアップロード GitHab Actionsを用いたCI/CD その他GitHubでやること 参考 poetryによるモジュールバージョン管理 バージョンをGitHubのタグで管理したい事の方が多いはず。 setup.pyを利用する場合は、一般的にsetuptools_scmを使うが、poetryはsetup.pyのようにb

    poetryを利用した動的なバージョン管理とGitHub ActionsによるPyPIへのrelease - Stimulator
    yag_ays
    yag_ays 2021/03/06
  • horovodを用いたPytorchの分散学習 - Stimulator

    - はじめに - 近年、分散深層学習の研究、ライブラリ開発が盛んに行われている。 記事はuber社が公開しているhorovodを利用した分散CNNのメモである。 - 前提 - horovodとは、バックエンドをOpenMPIとしTensorFlow、Keras、PyTorchを最小限のコード変更で分散学習できるようにするためのパッケージである。 github.com 現状TensorFlowを使って書かれたコードをDistributed TensorFlowに対応させるにはパラメータサーバやマスタサーバの動きを理解した上で多くの変更を要するが、horovodではそれらをncclのall reduceを利用しwrappingしてあるため、最小限のコード変更で分散学習が可能となる。 また、公式によると普通に書くより早いらしい(未検証) 複数ノードで利用する場合、各ノードがOpenMPIを通し

    horovodを用いたPytorchの分散学習 - Stimulator
    yag_ays
    yag_ays 2018/12/25
  • Webスクレイピングする際のルールとPythonによる規約の読み込み - Stimulator

    - はじめに - この記事は Webスクレイピング Advent Calendar 2017 - Adventar の1日目の記事です。 近年では、Pythonが様々な場面で使われるようになりました。 Webからデータを取ってくる際のスクリプトとして利用し、そのままデータを機械学習における学習データとするといった案件も多く見るようになっています。 ありがたい事に年度書きました以下の記事は、はてなブログに投稿されたPython関連の記事の中で歴代はてブ数1位だそうです。 Webスクレイピングも日に日に情報が増え、様々なパッケージやフレームワークによって手軽になっています。 記事は、スクレイピングやクローラを記述する際に抜けがちな、「規約」について記載するものです。 スクレイピングの間隔はどうすればいい?規約は?違法でないの?という人のために法律等もまとめています。 追記2019/01/0

    Webスクレイピングする際のルールとPythonによる規約の読み込み - Stimulator
    yag_ays
    yag_ays 2017/12/03
  • Pythonistaに贈るXonshのススメ - Stimulator

    - はじめに - この記事は Xonsh Advent Calendar 2017 1日目 の記事です。 タイトルが煽りです。 なんとなく贈るという単語が12月っぽいです。 内容は、Pythonで動くShellである「xonsh」の勧めを書く記事です。 追記2018/06/25: xonshの設定に関する記事を書きました。 記事よりも利用した上でのxonshの概要やメリット、デメリット、設定方法まで詳しく以下記事に書いてます。 vaaaaaanquish.hatenablog.com xonsh 0.7.0が出ていますが、現在prompt-toolkit2.0の各機能対応中という感じです。 これは、ptk1.x -> 2.xにおいて結構な破壊的変更があるためです。現状はpip install xonshする時に pip install xonsh==0.6.10 pip install

    Pythonistaに贈るXonshのススメ - Stimulator
    yag_ays
    yag_ays 2017/12/03
  • Pythonとカーネル密度推定(KDE)について調べたまとめ - Stimulator

    - はじめに - 端的にやりたい事を画像で説明すると以下 データ標から確率密度関数を推定する。 一般的な方法としては、正規分布やガンマ分布などを使ったパラメトリックモデルを想定した手法と、後述するカーネル密度推定(Kernel density estimation: KDE)を代表としたノンパラメトリックな推定手法がある。 記事ではKDEの理論に加え、Pythonで扱えるKDEのパッケージの調査、二次元データにおける可視化に着目した結果をまとめておく。 - アジェンダ - - はじめに - - アジェンダ - - カーネル密度推定(KDE)とは - - Python KDEパッケージの比較 - 以下利用するデータセット pandas scipy scikit-learn 基的なKDE Using Kernel GridSearch statsmodels pyqt-fit - 速度比

    Pythonとカーネル密度推定(KDE)について調べたまとめ - Stimulator
    yag_ays
    yag_ays 2017/10/29
  • headless chromeをPythonのseleniumから動かして引数を考えた (Ubuntu 16.04) - Stimulator

    - はじめに - Chrome 59が正式版となりheadless版も正式に動き始めました。めでたい。 New in Chrome 59  |  Web  |  Google Developers headless chromeをUbuntuに導入してPythonから触ったという記事です。 Ubuntuへの導入から、実行時の引数となるargsの考察などを含みます。 スクレイピング関連記事です。 vaaaaaanquish.hatenablog.com - インストール - まずPythonからの起動に必要なchromedriverを取得しておきます。 apt-getでも入りますが最新版が欲しいので以下のように。 (記事書いた当時で最新版は2.29) wget https://chromedriver.storage.googleapis.com/2.29/chromedriver_linu

    headless chromeをPythonのseleniumから動かして引数を考えた (Ubuntu 16.04) - Stimulator
    yag_ays
    yag_ays 2017/07/30
  • PythonでWebスクレイピングする時の知見をまとめておく - Stimulator

    - はじめに - 最近はWebスクレイピングにお熱である。 趣味機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ

    PythonでWebスクレイピングする時の知見をまとめておく - Stimulator
    yag_ays
    yag_ays 2017/06/25
  • 意識のスカイツリー - Swanky Street

    2014-12-13 意識のスカイツリー 今日うちの研究室のボスが、先生方が集まる忘年会から帰ってきて突然 「Googleに勝つぞ!」 と言い出した。目上の教授に目標を聞かれて言ったらしい。 ボスは研究室のホワイトボードにそれをデカデカと書いて 「○○君(僕の名前)、Googleに勝つよ!」 と言った。結構酔っていたので勢いかも知れないし、ヘラヘラもしていたし、「Googleが0でウチが1でも良い」等とも言っていた。 最近、機械学習の英書や論文、技術書GPUマシンに際限なくお金を使ってくれていた。院ゼミでは、バイト先の忘年会も忘れ、論文とホワイトボードとプログラムを片手に一日かけて激論を交わした。先生のやる気は感じていたし、学部生への指導も去年とは比べ物にならないくらい厳しいので、「今年のメンバーが好きなのかな」程度に思っていた。しかし、ついに熱い心の片鱗が見えた。僕に火をつけるには十分

    yag_ays
    yag_ays 2014/12/13
  • 1