皆さんこんにちは。@Ssk1029Takashiです 最近、AWSのSageMakerがいくつかアップデートがありました。個人的にはPyTorchのサポートがアツいですね。 さて、今回はSageMaker上で公式がサポートされていないアルゴリズムを学習する場合に、どのような方法があるのかを紹介していきます。 モデルはMobileNet SSDを題材として見ていきましょう。 SDK?コンテナ? SageMaker上で自前のモデルを作成する方法は2つあります。 SageMaker Python SDKを使う 自作のDockerコンテナを利用する 1の方法は、各フレームワークごとにSageMaker上で学習するためのスクリプト仕様が決まっていて、その仕様に沿って書けば学習・推論ができるようになっています。 例えばTensorflowであれば以下のページに仕様が載っています。 docs.aws.a
After my Loop Better talk at PyGotham 2017 someone asked me a great question: iterators are lazy iterables and range is a lazy iterable in Python 3, so is range an iterator? Unfortunately, I don’t remember the name of the person who asked me this question. I do remember saying something along the lines of “oh I love that question!” I love this question because range objects in Python 3 (xrange in
「Nginxをダウンタイム・ゼロで入れ替える方法」で書いたように、/usr/local/nginx/ のNginxを version 1.0.13 に更新しました。これとは別に、catyというユーザーアカウントのホームディレクトリ内にNginxをインストールして、Nginx+uWSGIとCatyの実験をしようとしています。 Nginx+uWSGIは、Catyに限らず一般的なWSGIアプリケーションを稼働させる良い環境を提供します。簡単に紹介しましょう。 内容: WSGIとuWSGI なぜ Nginx+uWSGI にしたのか uWSGIについて少し インストール とりあえず動かしてみる ソレナリに動かしてみる プロセスの制御など WSGIとuWSGI WSGI(Web Server Gateway Interface)*1は、Pythonで書かれたWebアプリケーションとアプリケーションサー
Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Documenting Code in Python Welcome to your complete guide to documenting Python code. Whether you’re documenting a small script or a large project, whether you’re a beginner or a seasoned Pythonista, this guide will cover everything you need
今回は Python のイテレータ生成クラスを使う方法についてご紹介します。 Python でイテレータ( iterator )を生成する関数のことを「ジェネレータ」( generator )と呼びますが、関数と同様にクラスを使う形でもイテレータを生成することができます。 具体的には、 __iter__() メソッドを定義してこれがイテレータを返すようにすれば OK です。その最もかんたんな方法は yield を使う方法です。 逆に yield を使わない場合は __iter__() に加えて __next__() ( Python 2 の場合は next() )メソッドを定義する必要がありますが、シンプルなケースでは __iter__() と yield を使った方法がシンプルかつかんたんです。 サンプルとして、与えられた整数の因数を返すジェネレータクラスを見てみましょう。 # 因数を返
今回は、KaggleのWinner solutionにもなった「K近傍を用いた特徴量抽出」を紹介します。 Rでの実装は公開されていますが、Pythonでの実装は確認できなかったので、自前のPython実装も公開しています。 github.com アルゴリズムの概要 Pythonでの例 可視化のためのパッケージ読み込み サンプルデータの生成 可視化 K近傍を用いた特徴量抽出 可視化 iris での例 追記20180624 実装の修正 はてなホットエントリ入り アルゴリズムの概要 近傍数を、分類するクラス数をとした場合に、アルゴリズムは個の特徴量を生成します。生成される特徴量は下記のように、観測値と各クラス内の最近傍点との間の距離から計算されます。 とあるクラスに属する訓練データの中の第1近傍までの距離を1つ目の特徴量とする とあるクラスに属する訓練データの中の第2近傍までの距離の和を2つ目の
この記事はPythonのAdventCalandar2016の15日目の記事です。 Goでネットワークプログラミングの投稿に引き続き、Pythonでネットワークプログラミングの いくつかのパターンを実装してみましたのでサンプルコードと簡単な解説をしたいと思ってます。 以前、このLinuxネットワークプログラミングバイブルを読んで 第5章のIOの多重化の部分が非常に興味深くハンズオンしてきちんと理解したいと思ってたので C言語で書かれていたロジックをPython3.5.2で書き直してみました。 まず、投稿タイトルのネットワークプログラミングについては、 TCPプロトコルを利用したサーバ側のSocket通信の実装を指してます。 Socket通信にて、シンプルな通信からI/O多重化、非同期I/O、ノンブロッキングI/Oを利用したパターンを紹介し、 これらの実装を実現するための技術として、sele
ちゃお・・・† 舞い降り・・・† 先日、前処理大全という本を読んで自分なりに何か書きたいなと思ったので、今回は自然言語処理の前処理とそのついでに素性の作り方をPythonコードとともに列挙したいと思います。必ずしも全部やる必要はないので目的に合わせて適宜使ってください。 前処理大全[データ分析のためのSQL/R/Python実践テクニック] 作者:本橋 智光技術評論社Amazon 前処理 余分な改行やスペースなどを除去 with open(path) as fd: for line in fd: line = line.rstrip() アルファベットの小文字化 text = text.lower() 正規化 (半角/全角変換などなど) import neologdn neologdn.normalize('ハンカクカナ') # => 'ハンカクカナ' neologdn.normalize
A couple of weeks ago after spending some time with Python profiler, I discovered that Python’s json module is not as fast as I expected. I decided to benchmark alternative JSON libraries. Libraries # json simplejson 3.8.2 ujson 1.35 python-rapidjson 0.0.6 python-cjson, yajl-py and jsonlib are not included in the benchmark, they are not in active development and don’t support Python 3. simplejson
NumPyは、多次元配列を扱う数値演算ライブラリです。機械学習だけでなく画像処理、音声処理などコンピュータサイエンスをするならNumPyを学んでおくことで、あなたの日々の研究や開発の基礎力は格段にアップするはずです。 プログラミングの初心者から、Webエンジニア、これから研究する人など、初学者にも分かりやすく優しく説明することを心がけて必要な知識が身につくように解説しています。 腰を据えて学習する時間と余裕のある方は、Step1から順に進めていくことで、苦手意識のあった方でも一通り読み終わる頃には理解できなかったPythonとNumPyのソースコードがスラスラと読めるようになるはずです。 上級者の方は、分からない記事だけ読むだけでも、力になると思われます。あなたのプログラミング能力を向上する手助けになることをお約束します。このサイトを通して、コンピュータサイエンスに入門しましょう。 Ste
週末KagglerとしてavazuのCTR予測コンペに参加しました。Kaggleは機械学習版のISUCONだと思ってもらえばよいです。コンペ自体は終わっているので、late submiteであまり意味はないかもしれません、練習です。leaderboard上で上位10%以内に行けたので、そこまでの試行錯誤をメモしておきます。謎ノウハウ(?)を持っているガチ勢じゃないと上位に行けないものかと思っていましたが、基本に忠実にやればこれくらいの順位(上位7.6%)に行けましたし、他の人の工夫を垣間見えるという意味でも現場の機械学習やり始めたエンジニアにお薦めできそうでした。 参加の動機 目標感: 頑張りすぎずに上位10%以内に入る 試行錯誤 AthenaとRedashによる探索的データ解析 ベンチマークをまず超える 線形分類器でシンプルな特徴量 時系列要素を忘れていて過学習発生 特徴量エンジニアリン
データマイニングのコンペティンションサイトKaggle: Your Home for Data Scienceに投稿された記事であるThe Dangers of Overfitting or How to Drop 50 spots in 1 minute | No Free Hunchの自分用まとめ. 要約 あるコンペにて「勝った!!!!!!!!!!!」と思ったが蓋を開けてみれば2位から52位に落ちてた 過学習ダメ絶対 cross validation は適切に行わないといかん そもそも Kaggle で Online Privacy Foundation が主催していた,Twitterアカウントごとに0/1を予測するコンペに参加した. Kaggle のランキングシステムは Public と Private で分かれていて,コンテストが終了するまではテストデータの一部だけを使った答え合わ
Jupyter NotebookでPandasのDataFrameを表示する時、カラム数が多すぎると省略されてしまうことがある。 そんな時は、 pd.set_option('display.max_columns', 100)とやると良い。100の部分は表示したいカラム数。 また、表示する行を増やしたい場合は、 pd.set_option('display.max_rows', 500)上は、500行表示するように設定している。 KaggleのKernelを見ていたところ、知ることができた。
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 検索技術の菅原です。 以前にこのTech Blogで紹介されたNGT(Neighborhood Graph and Tree)という高速な近傍探索を実現するソフトウエアのpython用インターフェースが公開されました。pythonは機械学習のライブラリが多く公開されており、より手軽にNGTを組み合わせて使うことができるでしょう。 そこで今回はword2vecのベクトルを近傍探索する実践的な内容を紹介します。word2vecを扱うライブラリとしてgensimを使用します。word2vecやgensimの詳しい説明は省略しますが、分からなくてもpythonの文法を知っていれば理解できると思います。今回使用した環境はMacBo
はじめに 最近PyPIデビューを果たしました。 そこで同じ用にPyPIデビューを考えている人の為に登録手順を書きます。 PyPIってなに? おいしいの? Python Package Indexの略らしいです。 Pythonパッケージを管理するためのサービスで、誰でもパッケージを登録できます。 ここに登録されたパッケージは pip installでインストール出来る様になります。 ちなみにパイピーアイって読むらしいです。 パッケージの準備 まずは登録するパッケージを準備します。 今回は例として「pypipkg」というパッケージを作成した事にします。 ファイル構成はこんな感じです。 pypipkgディレクトリ直下にsetup.py等、PyPIの登録に必要な情報を用意し、pypipkgのソースのディレクトリも置きます。 pypipkg $ tree ├── MANIFEST.in ├── RE
Arrays are the central datatype introduced in the SciPy package. (The same array objects are accessible within the NumPy package, which is a subset of SciPy. For consistency, we will simplify refer to to SciPy, although some of the online documentation makes reference to NumPy. And technically, array objects are of type ndarray, which stands for "n-dimensional array".) The array interface is acces
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く