のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

Python

種類が豊富な画像モデルライブラリpytorch-image-models(timm)の紹介

皆さんこんにちは お元気ですか。私は小麦を暫く食べるだけにしたいです。(畑で見たくない‥)さて、本日は最近勢いのあるモデルのライブラリ(pytorch-image-models)を紹介します。 pytorch-image-modelsとは 通称timmと呼ばれるパッケージです。 PyTorch…

PyTorch XLAでTPUを操作する

皆さんこんにちは お元気でしょうか。最近は宅配スーパーによりますます外出しなくなっています。本日はTPUをPyTorchで使ってみます。 GPUと比較して、TPUは汎用性をなくした代わりによりDeepLearningに必要な演算を高速にできるようにしたものです。 Why TP…

Albumentationの拡張方法

皆さんこんにちは お元気ですか。週末はALASKA2の準備をはじめてみました。さて、今回のAlbumentationの拡張方法を書いておきます。 AlbumentationはKaggleなどの画像コンペでよく利用されるData Augmentation(データ拡張)のライブラリです。 Albumentatio…

PyTorchの研究開発を加速する「pytorch-pfn-extras」を紹介します

皆さんこんにちは お元気ですか。ついにクーラーが必要になってきました。 電気代が心配ですがなんとかなるでしょう。本日はPyTorchの研究開発を加速する「pytorch-pfn-extras」を紹介します。 pytorch-pfn-extras pytorch-pfn-extrasとは PyTorchを使った研…

NGBoostを使ってみた

皆さんこんにちは。 お元気ですか。自粛ムードはまだまだ続きそうですね。本日は少し前の発表された勾配ブースティングの手法NGBoostを紹介しようと思います。 NGBoostについて NGBoostとは? NGBoostは予測の不確実性をも推定する勾配ブースティングのアル…

Pythonの環境を管理・再現する

皆さんこんにちは お元気ですか。3月末というのに、雪積もっていてすごかったです。さて、本日はPythonでの環境の管理方法を紹介します。 今まではAnacondaを利用しており、それを利用してimport/exportする方法もあります。 これに加えて最近はPipenvも増え…

PyTorchで高精度・高性能のEfficientNetを利用する

皆さんこんにちは お元気でしょうか。本日はEfficientNetをPyTorchで利用します。 私も頻繁に利用しますが、時々忘れてしまうのでメモ EfficnetNetについて EfficientNetとは? 幅、深さや解像度に関係性を導き出されたニューラルネットワークのアーキテクチ…

MLFlow Trackingを使って、実験管理を効率化する

皆さんこんにちは お元気でしょうか。COVIT-19起因で引きこもっているため、少しずつ自炊スキルが伸びていっています。以前、実験管理に関していくつかのソフトウェアを紹介しました。 その中で、MLFlow Trackingが一番良さそうではあったのでパイプラインに…

Pythonで自然言語処理のタスクをやってみる。

皆さんこんにちは お元気ですか。アドベントカレンダー真っ盛りですね。 本日は「python Advent Calendar 2017」のアドベントカレンダー第5日です。qiita.com自然言語処理には様々なライブラリ(NLTKやCoreNLP)があります。 せっかくの機会として、本記事で…

CatBoostを5分程度で動かしてみた

皆さんこんにちは お元気ですか?私は年末の師走フラグが立っています。少し前(この界隈ではだいぶ前っぽい)にYandex社からCatBoostが発表されました。 これが発表されたことは知っていたのですが、時間が取れなくて利用してなかったソフトウェアの1つで…

Pandasで特徴量取得する場合に使う操作をまとめてみた

皆さんこんにちは お元気ですか。私は元気です。分析は基本的にPythonを使って行います。(大体Pandasですが・・・) Pandasを利用すると色々できます。が、ふとどうするんだっけ処理が増えていきました。自分のメモがてらカテゴリを分けて記録に残したいと…

Anacondaを使ったPythonの環境構築

皆さんこんにちは お元気ですか。私は暇です(だと信じています)。 最近ブログタイトルと本人の忙しさが一致していないと言われるので とりあえず暇ですといってみます。本日は、Anacondaについて書きます。 Anacondaについて Anacondaとは インストール方…

Cookiecutterを使ってテンプレートからプロジェクトを作成する

皆さんこんにちは お元気ですか。ユニクロの極暖Tシャツ着ているとかなり暑い。。。冬なのに今日は、Cookiecutterを使ったテンプレートからの複製生成を試みます。 テンプレートからちょっと変えたい部分を用意することで、簡単に 似たプロジェクトを作成で…

クリスマスにもなってカノジョがいないからカノジョを作ってみた。

皆さんこんにちは お元気ですか?私はぼっちです。本記事は「カノジョできない機械学習エンジニア」の最終日です。 qiita.com本日の話の流れは次のとおりです。 はじめに カノジョがいないことに対する解決法 カノジョについての考察 カノジョとは 理想のカ…

Chainerの抽象化に挑戦してみた

皆さんこんにちは お元気ですか?年末ってこんなに忙しくなるものですね。本記事はChainer Advent Calendar 16日目の記事です。qiita.com本日はScikit-learn likeなChainerを作った記事です。なぜ、作ったのかは後述します。 はじめに なぜ、抽象化コードを…

Pythonを使った音楽解析をやってみる

皆さんこんにちは お元気ですか。私は元気です。本記事はPythonのアドベントカレンダー第6日です。 qiita.com本日はPythonを使った音楽解析に挑戦します。 偶然にも音楽解析に便利なライブラリを発見したので、試してみたいと思います! 音楽解析 librosa li…

ChainerのTrainerを使ってみた

皆さんこんにちは お元気ですか。最近、Chainer便利でびっくりしたような頃合いです。頻繁に更新することで有名なChainerですが、久々にupgradeすると以前よりも シンプルなタスクについて、簡単に学習ができます。 Trainer Chainer version 1.11.0よりTrain…

Keras.jsを使って、JavascriptでDeepLearningを動かしてみる

皆さんこんにちは お元気ですか?一人で箱根温泉りらっくすできました。Keras.jsが出て、遂にKerasをjavascriptを扱えるようになりました。 (これ公式なのかどうかが非常に不安で、きっと違う) ということで実際に動かしてみようと思います。 Kerasについ…

高速化のためのPython Tips

皆さんこんにちは お元気ですか?私は元気です。Pythonにおける高速化手法を掲載してみます。 簡単なコード並びに索引のような感じで引けるようなイメージで作成しました。本日の目次です。 Pythonにおける高速化の必要性 Pythonの高速化 高速化の手順 Profi…

Chainerにおけるグラフ構造をループで書いてみる。

皆さんこんにちは お元気ですか。私は元気です。実は私、Chainerでのfor文でLinkとして作成できることを知らず、 今の複雑なネットワークにChainer使いにくいと思っていましたが、以下にサンプルがあって こうすれば複雑なネットワークも組めるんだ。みたい…

Pythonで書ける便利な書き方を紹介します。

皆さんこんにちは お元気ですか。私は元気です。今日はPythonにおける便利記法を書いてみます。 他の言語しか使ったこと無い人もぜひ※1/25間違いかと思われる箇所の加筆修正を実施 リストに関するイテレーション enumerate(インデックスとオブジェクトのル…

Pythonで少なくメモリを使用する方法

皆さんこんにちは お元気ですか。私は元気です。今日はPythonにおけるメモリ少なく使う方法を紹介したいと思います。 なぜ、そんな方法を書くに至ったか。それは、こんなエラーをしょっちゅう見ているからですね。 Traceback (most recent call last): File …

友利奈緒らしさとは何か。

友利奈緒の皆さんこんにちは。 お元気ですか?私は元気です。これは、友利奈緒アドベントカレンダー24日目の記事です。 www.adventar.org今日は友利奈緒らしさについて追求していきます。 世の中友利奈緒を降臨させようとする方々は沢山いらっしゃると思い…

DeepLearningを使った実装を纏めてみた

皆さんこんにちは お元気ですか。私は全然です。Deep Learning 一言で言うとただの深層学習ですが、 作り手や用途によって構造が全然違います。今回は逆引き辞典よろしく、Deep Learningの実装のリンク集を作ってみました。 今回はライブラリは問わず、掲載…

TensorFlowのTutrialの解説と機械学習の実験をした。

今日は様々な箇所で賑わっているTensorFlowを使ってみました。皆さんこんにちは。 お元気でしょうか。朝弱いと結構困りますよね。 TensorFlowが盛り上がってたのでつい書いてみました。 TensorFlowとは http://tensorflow.org/ http://download.tensorflow.o…

Autogradで微分して、モデルを構築するとこまでの解説

皆さんこんにちは お元気ですか。Twitter上で突然賑わった、Autogradについて 書いてみることにします。 Autogradとは Autogradについての説明 github.com Autogradはnumpyらしく書くことができ、その記載した式を微分してくれるライブラリです。(in Python…

UbuntuにおけるOpenCV3のインストール

実は一度も使ったことがないOpenCV3を使ってみたいと思います。皆さんこんにちは お元気ですか。睡魔に襲われながらこの記事を書いています。今回はPython3を想定しています。Python2で使いたい人は適宜読み替えてください。 OpenCV3の機能について OpenCV3…

Mac10.9 でApache-Sparkを動作させてみる(in Python)

分散処理で有名なApache-Sparkを初動作させてみる。皆さんこんにちは お元気ですか。腹減った。分散処理のプラットフォームSparkを扱ってみます。 Apache Sparkとは spark.apache.orgApache Sparkは大きいデータを高速に処理する為のプラットフォームで Hado…

Sphinxを使ったAPIドキュメンテーションの作成

皆さんこんにちは お元気ですか。私は元気です。今日はSphinxを使ったドキュメンテーションを紹介します。 Sphinxを使うとモジュールの表示とコメントを自動的に表示するところを見ていきたいと思います。 Sphinxとは Sphinxは知的で美しいドキュメントを簡…

Lasagneを使ったNeural Networkの構築

皆さんこんにちは お元気ですか。私は元気です。本日は、Lasagneを紹介したいと思います。 What is Lasagne? Lasagneは簡単にニューラルネットワークを構築できるライブラリです。 Lasagne/Lasagne · GitHub CNNやRNN(LSTM含)をサポートしている 複数の入…