タグ

pythonに関するcvyanのブックマーク (41)

  • Harrisのコーナー検出を魂で理解する

    ハリスのコーナー検出。画像処理で特徴点を探し出す基となる処理です。OpenCVのチュートリアルではだいぶ説明がはしょられています。さすがにあれでは分かりません。調べれば調べるほど泥沼にはまっていったのでその経緯をまとめて、数学が分からない人間でも直感で分かるように紐解いていきます。 定義式を理解する まずは基の式です。この式そのものはそれほど難しくはありません。 $$E(u,v)=\sum_{x,y}w(x,y)\left[I(x+u,y+v)-I(x,y)\right]^2$$ ちょっと\((u,v)\)だけずらした位置との画素値の差分を取って、その大きさを計算してみよう。それが大きなところがコーナーだ。と言っている式です。 図を使って考えます。横エッジ、縦エッジ、フラット、コーナーをそれぞれ縦横にずらしたもので考えてみます。 まずは横にずらしてみます。 横エッジの画像では差分はあり

    Harrisのコーナー検出を魂で理解する
  • Pythonでパス文字列からファイル名・フォルダ名・拡張子を取得、結合 | note.nkmk.me

    実行環境はMacWindowsの場合の例は最後に示す。 なお、ここで説明するのはパス文字列からファイル名・フォルダ名(ディレクトリ名)を取得(抽出)する方法。フォルダ内に存在するファイル名一覧・パス一覧などを取得したい場合は以下の記事を参照。 関連記事: Pythonでファイル名・ディレクトリ名の一覧をリストで取得 また、Python3.4以降ではパスをオブジェクトとして操作できるpathlibモジュールを使って同様にファイル名やフォルダ名、拡張子などを抽出することもできる。慣れるとpathlibのほうが使いやすい。 関連記事: Python, pathlibでファイル名・拡張子・親ディレクトリを取得 OSによるパスの区切り文字の違い パスの区切り文字はOSによって異なる。 UNIX(Macを含む)ではスラッシュ/、Windowsではバックスラッシュ\が使われる。 Pythonが動作して

    Pythonでパス文字列からファイル名・フォルダ名・拡張子を取得、結合 | note.nkmk.me
    cvyan
    cvyan 2022/08/19
  • 【opecnv-python】cv2.imshow エラー対処法

    エラーと無縁のプログラマーはおらず、日々エラーと奮闘しながら対処に望んでいるわけですが…… cv2.imshow()で頻繁にエラーが起きるため、備忘録も兼ねてcv2でのエラー原因とその対処法をまとめてみました。 エラー段階 1.エラーメッセージを見た瞬間にわかるエラー 2.プログラマーに非があるエラー 3.プログラマーに非がないエラー 4.対処法はわかるが原因不明のエラー(調査不足)

    【opecnv-python】cv2.imshow エラー対処法
  • Pythonでニューラルネットワークを書いてみよう

    連載目次 連載(基礎編)の目的 スクラッチ(=他者が書いたソースコードを見たりライブラリーを使ったりせずに、何もないゼロの状態からコードを記述すること)でディープラーニングやニューラルネットワーク(DNN:Deep Neural Network、以下では「ニューラルネット」と表記)を実装して学ぶ系の書籍や動画講座、記事はたくさんあると思います。それらで学んだ際に、「誤差逆伝播」(バックプロパゲーション)のところで挫折して、そこはスルーしている人は少なくないのではないでしょうか。個々の数式や計算自体を理解していても、何となく全体像がつかめずに、 と自信を持って言えない人も多いのではないかと思います。 連載(基礎編)はそういった人に向けた記事になります。この記事はニューラルネットの仕組みを、数学理論からではなくPythonコードから学ぶことを狙っています。「難しい高校以降の数学は苦手だけど

    Pythonでニューラルネットワークを書いてみよう
  • あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介! - Qiita

    あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介!PythonアルゴリズムAtCoder競技プログラミングPypy 0.はじめに 2020年の5月よりAtcoderのコンテストに参加してから一年経った、現在水色コーダーとなりました、H20と申します。 AtCoderではPythonを使用して参加しており、水色になるまでに様々なアルゴリズムを使用しました。 アルゴリズムについてはほとんど自作せず、有識者の作成されたスニペットを調べては、ある程度理解しながら使用していました。 この記事では、Pythonにてあるアルゴリズムを使用する際にお勧めな書き方の説明をしているスニペットの記事に、それを利用してACしたコードを添えて紹介していきたいと思います。 (ただ、私のACコードは極力見

    あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介! - Qiita
  • IT未経験からMLエンジニアになるまでの2年半でやったこと - MLaaSS - Machine Learning as a Self-Satisfaction

    はじめに 自身の転職活動にあたり皆さんの転職エントリが非常に参考になったので、私も同じ境遇の方の参考になればと思い、書き残すことにしました。(ただ、当に私と似た境遇の方にはなかなかリーチしづらい気がしていますが・・・) TLDR; 30歳でIT未経験からMLエンジニア転職 約2年半独学で勉強(ほとんどkaggleしてただけ) 無関係に思えた現職での経験もなんだかんだ転職で役に立った 目次 自己紹介 現職について 転職の理由 勉強したこと 転職活動 終わりに 1.自己紹介 かまろという名前でTwitterなりkaggleなりをやっています。kaggleでは画像やNLPといったdeep learning系のコンペを中心に取り組んでおり、2019年の9月に金メダルを獲得しMasterになることができました。 恐らくここが他の転職エントリを書かれている方々と大きく異なる点かと思うのですが、現職

    IT未経験からMLエンジニアになるまでの2年半でやったこと - MLaaSS - Machine Learning as a Self-Satisfaction
  • Rubyは果たして死んだのか

    世の中には、数多くのプログラミング言語が存在する。Wikipediaの「プログラミング言語一覧」というページには300以上の言語が列挙されている。現在よく使われている言語に絞っても10や20はあるだろう。 C言語やJavaといった言語の名前を知っている人は多いかもしれない。少し詳しい人なら、JavaJavaScriptは名前こそ似ているものの全く異なる言語だということも知っているはずだ。 そうした中で、とかく「死んだ」とか「オワコン(終わったコンテンツという意味)」と言われがちな言語がある。オブジェクト指向言語の一種である「Ruby」だ。 2017年には「The death of Ruby?」という海外の記事が話題になった。Rubyの人気が以前よりも落ちているのではないかという記事だ。根拠にしていたのは、プログラミング言語別の求人数のランキングや米国電気電子技術者協会(IEEE)が公表し

    Rubyは果たして死んだのか
  • 機械学習入門 - 基本のPythonライブラリ、9つを触って学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!

    機械学習入門 - 基Pythonライブラリ、9つを触って学ぶ 機械学習を学ぶために、まず知っておきたいPythonライブラリを、機械学習エンジニアの「ばんくし」こと河合俊典さんに厳選し、そのエッセンスをつづってもらいました。機械学習入門に向けたスタートアップガイドです! こんにちは。機械学習エンジニアの「ばんくし」こと河合俊典(かわい・しゅんすけ/ @vaaaaanquish )です。 近年の機械学習関連の開発では、多くの場合Pythonが用いられます。 記事は、「機械学習をこれから初めてみたいけど何から始めればいいか分からない」「基のキから学びたい」という方に向けて執筆しました。プログラミング言語「Python」の中でも、特に機械学習における使用頻度の高いライブラリを厳選し、その解説を目的としています。 「この記事の内容に沿ってPythonを学習すれば、機械学習エンジニアとして入

    機械学習入門 - 基本のPythonライブラリ、9つを触って学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • この処理Pythonでどう書く? - エムスリーテックブログ

    EF15形は高性能な電気機関車であったが、引き出し性能が蒸気機関車に劣ると誤解されていた。 誤った運転方法により来の性能を引き出せていなかったのである。 (spaceaero2 [CC BY 3.0], ウィキメディア・コモンズより) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 WEBサイトは RailsやSpringなどの「体部分」だけでは完結しません。レポート作成・データ更新などの細かい処理も必要です。 過去にはこうした用途にはBashがよく使われました。しかし、Bashは落とし穴が多かったり、クラスなどの抽象化機能がなかったりして、規模が大きくなると辛くなります。 そこで、Bashの代替候補に挙がるのがPythonです。エムスリーでもかつてはBashを使っていましたが、現在は新規案件にはPythonを推奨しています。 しかし、実際にPythonで書き直そ

    この処理Pythonでどう書く? - エムスリーテックブログ
    cvyan
    cvyan 2018/11/16
  • PyConJPでデータ分析基盤とチーム文化の話をしました #pyconjp - 下町柚子黄昏記 by @yuzutas0

    概要 PyCon JP 2017というカンファレンスに参加しました。 Day2の最終セッションにて「SREエンジニアがJupyter+BigQueryでデータ分析基盤をDev&Opsした話」というタイトルで発表しました。 イベントについて 実施風景や発表内容 togetterや他の参加者のブログで良い感じにレポートされているので省略。 「こういう観点の感想もあるのかぁ」といった発見があり、読んでみると結構面白いです。 togetter 資料も映像も反響もすべてチェック! 『Output&Follow』で送る #PyConJP 2017 まとめまとめ - Togetter ブログ PyConJP2017で発表したり、PyQのブース出展したり、のサイン会をしました - Make組ブログ PyCon JP 2017 にさらりと参加してきた #pyconjp - 941::blog PyConJ

    PyConJPでデータ分析基盤とチーム文化の話をしました #pyconjp - 下町柚子黄昏記 by @yuzutas0
  • Python: デコレータについて - CUBE SUGAR CONTAINER

    Python の特徴的な構文の一つにデコレータがある。 便利な機能なんだけど、最初はとっつきにくいかもしれない。 そこで、今回はデコレータについて一通り色々と書いてみる。 先に断っておくと、とても長い。 これを読むと、以下が分かる。 デコレータの質 デコレータはシンタックスシュガー (糖衣構文) に過ぎない デコレータの作り方 引数を取るデコレータと取らないデコレータ デコレータの用途 用途はラッピングとマーキングの二つに大別できる デコレータの種類 デコレータは関数、メソッド、インスタンスで作れる デコレータの対象 デコレートできるのは関数、メソッド以外にクラスもある 今回使った環境は次の通り。 尚、紹介するコードの中には、一部に Python 3 以降でないと動作しないものが含まれている。 $ python -V Python 3.6.6 デコレータについて まずはデコレータのおさら

    Python: デコレータについて - CUBE SUGAR CONTAINER
    cvyan
    cvyan 2018/09/04
  • Python: scikit-learn のロジスティック回帰を使ってみる - CUBE SUGAR CONTAINER

    最近、意外とロジスティック回帰が使われていることに気づいた。 もちろん世間にはもっと表現力のある分類器がたくさんあるけど、問題によってどれくらい複雑なモデルが適しているかは異なる。 それに、各特徴量がどのように働くか重みから確認したり、単純なモデルなのでスコアをベンチマークとして利用する、といった用途もあるらしい。 今回は、そんなロジスティック回帰を scikit-learn の実装で試してみる。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.6 BuildVersion: 17G65 $ python -V Python 3.6.6 $ pip list --format=columns | grep -i scikit-learn scikit-learn 0.19.2 下準備 まずは scikit-

    Python: scikit-learn のロジスティック回帰を使ってみる - CUBE SUGAR CONTAINER
  • 数式を綺麗にプログラミングするコツ #spro2013

    [DL輪読会]Learning Transferable Visual Models From Natural Language SupervisionDeep Learning JP

    数式を綺麗にプログラミングするコツ #spro2013
  • 最近追加されたPythonの便利機能とこれからのPython in #ll2018jp - ぴよぴよ.py

    Learn Languages 2018 というイベントで、最近のPythonについて発表してきました。 (一昨年まではLightweight LanguageでLLイベントだったのが、去年からLearn Languagesイベントになったらしい!) Python update in 2018 #ll2018jp from cocodrips www.slideshare.net せっかくなのでポイントだけでも書き起こして見ようと思います。 ここ1~2年で便利になった機能 1. The pathlib module (PEP 428) pathlibはファイルパスに関するモジュールで3.4で導入されました。 ただ、build-inのopenやos.pathモジュールがpathlib.Pathオブジェクトを受け入れられるようになったのがPython3.6(PEP519)となっています。 3.

    最近追加されたPythonの便利機能とこれからのPython in #ll2018jp - ぴよぴよ.py
    cvyan
    cvyan 2018/08/27
  • Pythonの知っておくと良い細かい処理速度の違い8個 - kumilog.net

    はじめに 標準入力 input と sys.stdin.readline ソート sort と sorted ソートの key ループ for と while リスト リストの初期化 二次元配列の場合 リストの値参照 リストへの値追加 それぞれの処理速度 まとめ はじめに 最近、PythonAtCoderなどの競技プログラミングに挑戦しています。これまであまりに気にしなかったけど、ちょっとした書き方で処理速度が変わってくることに気づいたので、これを気に少し調べてみました。 目次にあるように、標準入力、ソート、ループ、リストについて、計8個の処理の速度比較を行いました。処理速度の計測方法は、Mac Book Pro*1を使い、timeitでそれぞれ100回計測*2し、平均と標準偏差を求めています。 結果だけ知りたい方は、まとめへどうぞ。 計測に用いたコードは以下にあります。 github.

    Pythonの知っておくと良い細かい処理速度の違い8個 - kumilog.net
    cvyan
    cvyan 2018/08/20
  • 【深層学習入門】画像処理の基礎(画素操作)からCNN設計まで|はやぶさの技術ノート

    こんにちは。 コンピュータビジョン(『ロボットの眼』開発)が専門の”はやぶさ”@Cpp_Learningです。 最近は、PythonOpenCVを使った画像処理にハマっています! OpenCV便利ですよね~画像処理に関する知識があまりなくても、関数をレゴブロックのように繋げるだけで目的の処理ができますからね~ ただ、OpenCVが便利すぎるせいで『画像処理の基礎』を学ぶ機会を失っている人が多いような気がしています。。

    【深層学習入門】画像処理の基礎(画素操作)からCNN設計まで|はやぶさの技術ノート
  • 確率的勾配降下法とは何か、をPythonで動かして解説する - Qiita

    勾配降下法は何に使う? 勾配降下法は統計学や機械学習で多く使われています。特に機械学習というのは基的に何かしらの関数を最小化(最大化)する問題を数値解析的に解くことに帰結する場合が多いです。(e.g. 最小二乗法 → 誤差の二乗和を最小化(参考)、ニューラルネットワークのパラメータ決定 etc...) なので、基的にはひたすら微分して0となるところを探す問題ですね、微分して0。で、その微分して0となる値は何か、をプログラムで解く場合に重要になるのがこの勾配降下法です。幾つか勾配法にも種類がありますがここでは最急降下法、確率的勾配降下法の2つを扱います。まずはイメージをつかむために1次元のグラフで確認していきたいと思います。 1次元の場合 1次元の場合は、確率的という概念はなく、ただの勾配降下法になります。 (どういうことか、はのちほど) 1次元の例は、正規分布をマイナスにしたものを使っ

    確率的勾配降下法とは何か、をPythonで動かして解説する - Qiita
  • OpenCVをインストールしてみよう

    OpenCVとは、非常に強力なオープンソースの画像動画ライブラリだ。今回は、PythonからOpenCVを利用して、簡単な画像処理を行う方法を紹介する。特に、画像に様々なフィルタ処理を施す方法を見てみよう。 OpenCVを用いて画像にいろいろな処理を行ったところ OpenCVについて OpenCV(Open Source Computer Vision Library)は、画像や動画を処理するのに必要な様々な機能を提供するライブラリだ。画像の変換やフィルタ処理や変形、物体判定や物体認識や顔認識、カメラの入出力など豊富な機能が備わっている。そのため、画像や動画に関係する処理をするときに大変役に立つライブラリだ。 しかも、名前に『オープン』を関しているだけあって、オープンソース(BSDライセンス)であり、商用利用も可能なので、幅広く利用されている。加えて、マルチプラットフォームで、Window

    OpenCVをインストールしてみよう
  • あまりに暑いので,140年分の気温をProphetで分析した - Qiita

    はじめに 統計開始以来最も暑い夏を生きる皆様,お疲れ様です.あまりに暑くてムシャクシャしたので,気象庁から約140年分(1872年1月1日-2018年7月21日)の東京の気温データを入手し,Prophetで分析しました. 以下は,過去365日分の最高気温の実測値と,2018年7月22日から1ヶ月先までの予測値を表したものです. また,以下は,最高気温のトレンドと年単位の周期性を表したものです. 分析の結果,平均・最高・最低気温の全てに関して,1920年付近から上昇し続けており,そのトレンドを考慮してもなお,ここ数日は特に暑いことを確認しました.分析に用いたNotebookはこちらです. 注:記事は,2018年7月22日に個人サイトに投稿した記事を,Qiita向けに再構成したものです. 環境 macOS Sierra, 10.12.6 Python, 3.6.6 Prophet, 0.3

    あまりに暑いので,140年分の気温をProphetで分析した - Qiita
  • 21世紀の文字起こし(3) 〜 Cloud Speech-to-Text 編 〜 - the code to rock

    ここまでのあらすじ 免責事項 Cloud Speech-to-Text の使い方 参考資料 音声ファイルを作る サンプリングレートの変更 ステレオをモノラルに FLAC形式に変換 Google Cloud Platformにアカウント登録 新規プロジェクトを作成 音声ファイルをアップロードする APIの有効化 & サービスアカウントキーの作成 Cloud Shell にJSONファイルをアップロード Pythonファイルの準備 実行 結果と講評 ハマりどころ 料金 録音時の注意点(より正確に起こすために) まとめ ここまでのあらすじ 少なからぬ人々が直面する文字起こし(音声を文字に変換する作業)について、手動でパチパチやっていくのはけっこうつらいものがあるので、なんとか自動化できないか? というこのシリーズ。 気がつけば最初の記事はちょうど2年前の今頃に書いていて、続編はその半年後。で、そ

    21世紀の文字起こし(3) 〜 Cloud Speech-to-Text 編 〜 - the code to rock