stMind

about Arsenal, Arsene Wenger, Tech, Computer vision and Machine learning

imdb_reviews datasetのレビューに含まれるunique wordの上位N件の分布

レビューのテキストに含まれる語には、どういったものがあるか。特に、上位に含まれる語について、分布を見てみます。 scikit-learnのCountVectorizerを使って実装します。 def get_top_n_words(corpus, n=20, is_stop_words=False): vectorizer = CountVect…

imdb_reviews datasetのレビュー長のヒストグラム

データセット自体を理解し、モデル改善に役立てていきます。 Positiveなレビュー、Negativeなレビュー、それぞれについてレビュー長(ワード数)をカウントし、ヒストグラムで可視化します。 # 4. Count the length of sentences all_sentences = training_s…

LSTMでSentiment Analysis

これまでは、語単位での特徴量化でレビューの感情分析を行いましたが、文章のコンテキストを考慮するともっとうまくPositive/Negativeの判定が出来そうです。 (単純にgoodやbadのような語が含まれているかどうかだけでなく、「最初はgoodだけど、最後にはdi…

Sentiment Analysisの学習履歴をプロット

学習時のlossとaccuracyを確認するのも容易。model.fitの戻り値をhistoryとして受け取って、横軸にepoch数、縦軸にlossやaccuracyの値をとって表示するだけ。 history = model.fit(padded, training_labels, epochs=num_epochs, validation_data=(testing_pa…

Sentiment AnalysisをGloveで行う

前回の続き。 前回はEmbedding layerも含めて学習したが、学習済みのGloveを使う。 最初に、glove.6B.100d.txt(wordとembeddingを行単位で記述)をロードして、embedding_indexを作る。次に、imdb_reviewsデータセットのwordに対して、対応するgloveのembed…

CourseraのNLP in tensorflowを見てSentiment Analysisが容易に出来ると知る

www.coursera.org tensorflow_datasetに用意されているimdb_reviewsデータセットを取得して、kerasのTokenizerを使って前処理して、Modelを書いて、学習。 これをテンプレートとして使えば、EmbeddingはBERTに変えたり、imdb_reviewsを自分で作ったデータセ…

Tensorflowレポジトリのコミット数ランキングを表示するワンライナー

git logコマンドのfomatオプションでauthor nameを出力 sort uniq -cで連続する行数をカウント、重複行は削除 sort -nrで降順にソート headで先頭から10件表示 $ git log --format='%an' | sort | uniq -c | sort -nr | head 21995 A. Unique TensorFlower 3…

画像からの料理名推定

blog.stratospark.com 2017年なので少し前になりますが、画像から料理名を推定するプロジェクト。 InceptionV3のImageNet pre-trainedのモデルをFine tuningして、Food 101データセットで82.03% @ Top-1の精度が出たようです。 Food 101は、名前の通り101ク…

Baidu researchが作ったテキストからビデオを作成する技術

blog.deeplearning.ai deeplearning.aiが発行しているnewsletterにあったVidPress。 URLを入力とすると、最初にWebページの内容を解析して、関連する記事も収集(解析には、Ernieというモデルが使われているよう)。 その後、テキストサマリを作成、サマリに…

これが未来のサッカー観戦か!Zoomでバーチャルスタンド

www.bbc.com これからの時代のサッカー観戦はこうなるのかもしれない! デンマークで行われたリーグ戦、当然ながら現地にファンはいないのだけど、スタジアムに設置された巨大スクリーンにはZoomにログインしたファンの姿が!!(動画は下のURLから) https:…

Scene text detection/recognitionのためのTotal text dataset

GitHub - cs-chan/Total-Text-Dataset: Total Text Dataset. It consists of 1555 images with more than 3 different text orientations: Horizontal, Multi-Oriented, and Curved, one of a kind. coco-textに対して40分の1くらいの画像数ですが、curved t…

ICCV2017の論文、Revisiting IM2GPS in the Deep Learning Era

論文を読むのがそれなりの速度で行えるようになってきた。せっかくなので、読んでいるものをこのブログにまとめていこうと思う。 といっても、詳細に入るのではなく、主にAbstractとIntroduction、代表図面のあたりのまとめで、従来手法の課題や著者のアプロ…

Wavenetを用いた疑似エフェクターの実現

teddykoker.com ギターのエフェクターをWavenetで生成してやろうという試み。 モデルは24層のWavenetをベースにして、モデルサイズ削減と推論高速化のために出力を単一値(1x1フィルタで256→1に)にして、正解と予測値の差を最小化するように学習しているよ…

コミット履歴として可視化するBERTとその派生手法

amitness.com コミット履歴では追加されたコード(+)と削除されたコードが(-)が差分として可視化されますが、Githubに論文がプッシュされて、その後の論文が改善点をコミットしていけば、論文は重要な差分だけに圧縮されて把握しやすくなるのでは?という…

The boring technology behind a one-person Internet companyの話

www.listennotes.com ListenNoteというポッドキャストの検索エンジンがあるのですね。個人としては、ポッドキャストってあんまり使ってないのだけど、タイトルに惹かれて読んでみた。ちなみに、タイトルにあるboring technologyは退屈なということではなく、…

Tensorflowとpythonで書かれたmusic source separationのためのライブラリSpleeter

deezer.io github.com music source separationは、複数の楽器演奏パートの合成音源から個別の演奏パート(trackやstem等と呼ぶ)に分割するタスクのこと。例えば、ボーカル、ベース、ドラム、その他、それぞれの音源に分割するなど。 https://archives.ismi…

OCR用データセットのcoco-textとSynthTextを可視化

bgshih.github.io OCR用のデータセットでcoco-textがあります。約6万4千枚のCOCO2014の画像に対して、約24万のテキスト領域のバウンディングボックスがアノテーションデータとして提供される大規模なデータセットの一つです。 www.robots.ox.ac.uk また、画…

Andrew Ng教授の論文の読み方における個人的実践方法

Andrew Ng教授が行ったレクチャーの動画。 www.youtube.com その内容をまとめたMedium記事。 Advice on building a machine learning career and reading research papers by Prof. Andrew Ng 日本語翻訳記事。 アンドリュー・エン教授のアドバイスによる機…

Indie hackersのインタビューで気になった個人開発成功例を5つまとめ(2)

先日のエントリIndie hackersのインタビューで気になった個人開発成功例を5本要約 - stMindの続き。 もう少しインタビュー記事を読んでみた。インタビューとして掲載されているものを、タイトルだけは一通り眺めたことになる。 先行サービスがあったとしても…

Indie hackersのインタビューで気になった個人開発成功例を5本要約

家にいることが多いこの時間、何か作りたい!では、何を作るのか?アイデアを得るには先行例を研究するのが一番ということで、こちらで紹介されてた個人開発者へのインタビュー記事サイトIndie hackers interviewsから気になるものを 5本ほどまとめてみた。 …

リモートワークで改めて取り組みたいポモドーロテクニック

リモートワークが基本になった今、家でどう働くかということが大きな課題! どう働くと生産性が上がるかを考えることも重要だけど、どう休むかということも併せて考えないといけないなぁと思っていて、 改めてポモドーロテクニックを使って時間管理をしてる…

SSDとCRNNで簡易OCR

画像から文字列を認識するOCRシステムを、SSDとCRNNで。 github.com 最初に、SSDで文字列領域を矩形として抽出、矩形領域に対してCRNNで文字列を出力する構成です。 SSDはTensorflow Object Detection APIで、COCOだけでは十分な精度が出なかったので、Synth…

論文紹介 : Composing Text and Image for Image Retrieval

CVPR2019で発表された、元画像と元画像をターゲット画像に変換するためのクエリ文を組み合わせた画像検索方式。以下、論文について簡単にまとめてみます。 目的 これは図を見ると理解しやすいと思います。エッフェル塔の画像と「人が写ってない、夜間」とい…

画像キャプション(im2txt)

github.com 色々と参考にしながら、画像キャプションのモデルを学習、テストした。 im2txtはtensorflowのリポジトリに含まれる画像キャプションのモデル encoder-decoder系のアーキテクチャで、画像をエンコードした固定長ベクトルを入力し、自然言語のキャ…

A simple yet effective baseline for 3d human pose estimation

https://arxiv.org/pdf/1705.03098.pdf 画像から3次元の関節を推定する論文。ただし、入力は画像ではなく2次元の関節座標で、そこから3次元の関節を回帰する。 2次元から3次元へのマッピングをDNNとして学習する手法は、これまでにも提案されてきているが、…

Tensorflow Object Detection APIを使ってロゴ検出

以前、ナンバープレート認識モデルを参考にして、ロゴ認識CNNを作りました。 stmind.hatenablog.com 前回のモデルは独自モデルだったのと、物体候補領域はSelective Searchで実行していたため計算時間が大きかったので、one stageで標準的なモデルを使用する…

GoogLeNet(Inception V1) and Inception V3 memo

CNNの中でもよく使われるアーキテクチャの一つであるGoogLeNet。GoogLeNetの層を構成するのがInceptionで、今までにv1からv4までの改良が行われていて、またresidual blockを導入したinception-resnetも提案されています。 Mediumの解説記事を参考に、基本と…

intが戻り値の関数でエラーを返すにはどうすればいいか

C++

stackoverflow.com 例えば、ファイルに含まれる数の合計を計算する場合。 int DoSum(const std::string& file); ファイルに含まれるのが正の値だけであれば、負の値でエラーを示すことができるが、正も負も含まれる場合には適用できない。 3つのやり方 1. 戻…

今こそ読みたいグーグルマップ誕生の舞台裏

NEVER LOST AGAIN グーグルマップ誕生 (世界を変えた地図)作者: ビル・キルデイ,大熊希美出版社/メーカー: TAC出版発売日: 2018/11/10メディア: 単行本(ソフトカバー)この商品を含むブログを見る 中の人による、キーホール起業からグーグルによる買収、グ…

スーパーカーについて知っていること

最近、YoutubeでライブのPV見て、そこについてるコメントを見てなんか書いてみたくなった。 2005年に解散したスーパーカーは、自分の青春時代そのものだった気がする。当時はまだネットが一般的に使われる前だったし、スマホなんてものは当然なかったから、…