Python

AtCoder Beginner Contest 185 C問題

前書き 久しぶりに解いたら頭の回転が物凄く落ちてました・・・。 1週間に1度でもいいのでチャレンジする事を心がけようかな・・・。atcoder.jp 解法 レベル:灰長さLの柱を12分割するのですが、分割した長さはそれぞれ正整数になるようにします。 12分割す…

AtCoder Beginner Contest 183 C問題

C問題 atcoder.jp 問題(灰色) N個の都市があります。都市 iから都市 jへ移動するには Ti,jの時間がかかります。都市 1を出発し、全ての都市をちょうど 1度ずつ訪問してから都市 1に戻るような経路のうち、移動時間の合計がちょうど Kになるようなものはい…

【Flask】ニュースコメント判定アプリの現状【React】

前書き 12月末くらいから開発しているニュースコメント判定アプリの現状報告。 ReactとTypeScriptについて全くの初心者だったので、少々手こずっています。 追記(githubからのダウンロード方法) github.com $ git clone https://github.com/urbanweb2000/N…

【Flask】スクレイピング時のエラー処理→Reactに反映させる

前書き Yahoo! Newsのスクレイピングする上でも記事によっては、要素が異なったり、コメント取得に時間がかかりすぎたりします。 そこでエラー処理をどのようにしていくかを調べて、実装してみました。 今回の実装を以ってしても動作は少々不安定ですが、随…

【Mecab】Docker上に構築した環境でSentiment Analysisライブラリ「oseti」を動かす

前書き 前回Google Colab上で自然言語処理の基礎でもある文章のポジティブ・ネガティブ判定を実践しました。 形態素分析についても記述しています。 melheaven.hatenadiary.jp 使用したのは、東北大学の乾・鈴木研究室の日本語評価極性辞書を活用したSentime…

【スクレイピング】DockerコンテナにSeleniumをインストールしてブラウザ操作

前書き 前回Google Colabでchromium-chromedriverとSeleniumを使って、Yahoo! Newsのコメントをスクレイピングしました。 melheaven.hatenadiary.jp 環境構築 seleniumとはWebブラウザの自動操作化を実現させるためのフレームワークです。 Seleniumを介してC…

【BeautifulSoup】Yahoo!Newsの記事をスクレイピングして表示させる【Flask】

前書き 前回の記事でフロントエンドにてReactを適用し、バックエンドにてFlaskを動かしました。 Reactにて入力タグを取得し、タグに該当するYahoo! Newsの記事をバックエンド側で検索します。 melheaven.hatenadiary.jp 技術 フロントエンド側(React):入…

【Flask】React→Flaskにアクセスする際に発生したエラー【CORS】

前書き React~Flaskアプリケーション「環境構築」編 melheaven.hatenadiary.jp 環境のおさらい React(TypeScript)ポート番号3000 Flask(Python)ポート番号5000 シンプルにReact側で入力した入力タグ情報をFlask側へ送信するだけの記事です。 実装 React…

【ポジネガ編】初心者でも簡単に自然言語処理で感情分析判定

前書き melheaven.hatenadiary.jpこの記事の続きです。 Mecab Mecabは日本語形態素解析エンジンです。 Mecabを導入方法は複数ありますが、以下のコマンドを打つことで、 Google Colabでは簡単に動作します。 !apt install aptitude !aptitude install mecab …

【スクレイピング編】初心者でも簡単に自然言語処理でポジネガ判定

前書き 普段、研究にて画像認識関連は非常に活用しているのですが、自然言語処理に関してはイマイチ縁がありません。 Yahoo!Newsの記事をスクレイピングしよう!と思ったのですが、 あえてYahoo!Newsのコメント部分をスクレイピングしてネガポジ判定をしま…

【深層距離学習】画像分類が難しい場合の学習法

前書き 画像分類をする上でどうしても特徴が2クラス間で似通っており、 分類させるのが難しいといったケースが存在します。 そういった場合にどういった学習が有効なのか調査してみました。 深層距離学習 深層距離学習の考え方についてはこちらの記事を参考…

【Pytorch】MNISTで簡単なアンサンブル学習を実装

はじめに Kaggleなどを勉強していて、 不均衡データが発生した時にどうすりゃいいんだとなる事があったので、 アンサンブル学習的な要素を含めて実装していきます。 データの不均衡 片方のデータの取得が困難な場合に発生します。 異常検知では、そもそも異…

【Pytorch】CUDA error: device-side assert triggered で発生したエラー

エラー CUDA error: device-side assert triggered ビビりました。 単刀直入によるとネットワークに入力したデータの形式が間違っている場合に、 発生するエラーだそうです。 やろうとしたこと CIFAR10の画像から2クラスのみを取得して、二値分類を試そうと…

【U-Net】PytorchでSemantic Segmentationの推論+切り抜きを実装

前書き melheaven.hatenadiary.jp前回、上記の記事のように学習を進めました。 今回は推論をやっていきます。 推論の準備 学習後、作成した重みファイル(.pth)をロードします。 # 学習モデルを引っ張ってくる(前回の記事参照) model = ResNetUNet(num_clas…

【U-Net】Semantic Segmentationの学習フェーズの実装

前書き Kaggle(やってない)や研究の勉強ついでに。 ネットワークモデルは自分で構築するより、 外から取ってきて自分の実現したい内容に合わせるかが重要です。 概要 前回dataloaderの作成まで行いました。 今回はU-Netでmelheaven.hatenadiary.jp今回はU-…

Pytorchのデータ前処理【Dataset・Transform・DataLoader】を実装

前書き 今までTensorflowを活用していたのですが、toPytorchを勉強しています。 今日は基礎をざっと紹介していきます。melheaven.hatenadiary.jp Pytorchの機能 torch → Tensorの作成や操作 torch.Tensor → torch.Tensorクラスのパッケージ化 torch.autograd…

matplotlibを扱う上でたまに遭遇するバグ

前書き 環境構築中にmatplotlibにバグが発生したので備忘録にまとめました。 matplotlibでグラフが表示されない問題 特にエラーを吐かないんですよね・・・ 原因もわからないので調査しました。spyderでプログラムを実行した時、 matplotlibで表示されるグラ…

Frontend=Vue.js、Backend=Flaskで画像投稿。PythonでBinary操作。

前書き そういえば3ヶ月前にこんな記事をQiitaに投稿しました。 最初の方はいまいち中身を理解してなかったのですが、 インターンでバイナリ操作、 Axiosを触るようになって理解した画像投稿部分を説明します。 記事も更新しました。qiita.com Vueの箇所 // …

Numpyで分割サイズを指定して画像を均等にグリッド化させる

前書き 大きめの画像から物体認識を実装する際、 やはり画像をグリッドごとに分割すべきです。 そんな時画像のピクセル数を指定して分割したいと思ったので、 記事を書いてみました。 画像処理ライブラリ「Pillow」 Pillowとは画像処理ライブラリで、 対抗馬…

Keras(on Tensorflow) vs Pytorch

前書き 最近研究でKerasとPytorchを対象研究ごとに使い分けたりすることが多いのですが、 その比較がイマイチ曖昧でしたのでまとめることにしました。 KerasもPytorchも大きな変革が・・・ 2019年10月、KerasとPytorchに大きな変革がもたらされました。 Kera…

AtCoder Beginner Contest 070 C問題

C問題 難易度:茶色 時間:5分くらいatcoder.jp 久しぶりなので、問題は簡単め。 Atcoderが4問時代の時は、茶色の問題であれど比較的難易度が簡単な気がします。 N台の時計があり、i(1≦i≦N)番目の時計の針はちょうど Ti秒で時計盤を 1周します。 最初、全て…

「Python実践データ分析100本ノック」を読んだ感想

購入した本 「Python実践データ分析100本ノック」 著者 下山輝昌 (著),松田雄馬 (著),三木孝行 (著)honto.jp 購入した経緯 Kaggleの問題を解いてみて、Pandasを用いたデータ分析に自信がないと思うようになりました。 Kaggleを始めたい!がデ…

AtCoder Beginner Contest 117 C問題

C問題 難易度:茶色15~20分で解きました。atcoder.jp 数直線と N個のコマを用いて 1人でゲームを行います。 はじめ、これらのコマをそれぞれ好きな整数座標に置きます。 このとき、同じ座標に複数のコマを置いても構いません。 以下の移動を繰り返して、座標…

AtCoder Beginner Contest 090 C問題

C問題 難易度:茶色atcoder.jp 回答時間は10~15分。 規則性をすぐに理解できました。N行M列に並べられたカードがあります。 それぞれのカードを裏返すのですが、 各マスにおいて点と辺で隣接する8マス+該当の1マスを裏返します。 最終的に裏向きなのは何枚か…

AtCoder Beginner Contest 165 D問題

D問題 難易度:茶色必要となるのは以下の数式。 最大となるLの値を求める必要がある。 しかし1≤N≤10**12より全て計算すると間違いなくTLE。 工夫する必要がある。 L1 = Floor(A*N/B) L2 = Floor(N/B)*A L = L1 - L2とりあえず周期性が知りたいので以下のよう…

AtCoder Beginner Contest 167 D問題

D問題 難易度:茶色atcoder.jp 茶色の中でも難し目の問題を解いてみましたが、 TLEとWAのダブルパンチを喰らい、結局以下のサイトを参考にする形となりました。note.comK(≤10**5)個の街に設置されているワープマシンを N(≤10**18)回使用したらどこの街に飛ば…

AtCoder Beginner Contest 173 C問題

C問題 難易度:茶色一発クリアです!H行W列のマスに対して、 h行目もしくはw列目のマスを選択し、赤に塗りつぶす。最終的に黒色のマスとして残った合計がKである選択する行・列のパターンを出力します。解き方はHとWが6以下であるため、総当たりでいけるか …

AtCoder Beginner Contest 171 D問題

D問題 難易度:茶色10~12分で解けました。並べられた整数列Aに対して Biの整数に該当する要素を全てCiに置き換え、 最終的な合計値を求めます。整数列の要素数やBiの個数が100000個存在します。 そのため二重ループするとTLEとなる確率が高い。よってcollect…

AtCoder Beginner Contest 167 C問題

C問題 難易度:茶色少し長めのコードになりました。 N個の本でM個のアルゴリズムの能力AをX以上まで仕上げます。 本の値段が最小となる組み合わせを解く問題です。NとMが最大で12なので、 二重for文でも総当たりは可能。 これは総当たりで解く問題と瞬時に把…

AtCoder Beginner Contest 170 C問題

C問題 しばらくサボっていたので難易度は軽めなのから。難易度:灰与えられた整数Xと配列N Xからの絶対値が最も小さくなる「Nの要素以外の数字」を求めます。Xから少しずつ絶対値を開けながら、正負で場合分けしながら Nの要素以外の数字を模索します。以下…