Qstairs

現役AIベンチャーCTOの知見、画像認識(人工知能、Deep Learning)を中心とした技術ノウハウをアップしていきます

広告

python

【Python】決定版!dict(辞書型)を値でsortするワンライナー

dictの値でソート(sort)してdictを返すワンライナーです。 (dictをソートしてlist型に変換して終了している記事が多いと感じました。) 昇順: dict_data = {k:v for k,v in sorted(dict_data.items(), key=lambda x : x[1])} 降順: dict_data = {k:v for …

pipを実行すると「Did not provide a command」になる場合

WindowsでPython環境を構築し、 ちゃんとPATHも通しているが コマンドプロンプトでpipを実行すると 「Did not provide a command」 になる場合があります。 原因 恐らく、環境変数でPythonより上位に以下のパスがあるため、 PythonのpipよりもPerlのpipが優…

【顔検出】超簡単PythonとOpenCVを使った顔検出

はじめに 最近ではコモディティ化したといえる顔認識技術。 顔認識技術では一般的に 顔検出(どこに顔があるか)→顔照合 という流れで登録済みの顔を特定しています。 今回は顔検出を超簡単にPythonとOpenCVを用いて実現しました。 (なんと118行!) ソース…

【DeepLearning】Tesla V100はCUDA9.0以上しか対応していない。だったらTensorflow1.5を使おう。

最近、AI案件でAWSを扱い始めています。処理速度が必要なので、AWSのp3インスタンスを使用していますが、 困ったことにp3のGPUはTesla V100でCUDA9.0以上しか対応していない!Tensorflow1.4はターゲットはCUDA8.0なので、 ちゃんと動かないという非常事態が.…

【Python】WindowsでMiniconda, Anacondaで仮想環境を作成する際の注意点

WindowsでMiniconda, Anaconda等で、 仮想環境を作成する際の注意点以下コマンドで仮想環境を作成しようとすると、 conda create -n mykeras以下のエラーが出ました。 Error: too few arguments, must supply command line package specs or --file 何やら引…

【Django】テンプレートフィルタを自作する!

はじめに DjangoでWEBサービスをガリガリ開発しています。 開発している中で、 views.pyから画面に渡されたリストデータを インデックス指定して値を取得したい事態になりました。予め用意してあるDjangoのテンプレートフィルタの中に、 リストデータからイ…

【Django】サーバへのデプロイ時に気を付けること(Invalid HTTP_HOST header等)

はじめに ローカル環境でWEBアプリを作成し、 さあ、サーバにデプロイだ! というときに気を付けることを書きます。 #実際に私が引っ掛かってます... 1. サーバ起動のコマンドはいつもと違う 2. 設定ファイルに一手間 1. サーバ起動のコマンドはいつもと違う…

【Django】HTMLのfor文でカウントアップ

Djangoで開発していますが、 forの中でカウントアップする方法を試行錯誤していました。30分ぐらい調べたり実装したりしましたが ようやく実現方法を見つけたので備忘録 {% for item in items %} {{ forloop.counter }} #先頭(1)から1ずつカウントアップし…

【Django】Modelから条件に合ったオブジェクトを取得する場合の注意点(filter,get)

DjangoのModel (django.db.models.Model) で定義したクラスにおいて、 条件に合ったオブジェクトを取得する際、リスト(複数個)を取得する場合は「filter」一つだけ取得する場合は「get」を使用する。 「get」で条件に合ったオブジェクトが複数個存在する場…

【Django】ログイン処理

Djangoで簡単なログイン処理について備忘録 とりあえずソースコードは以下 # views.py def login(request): try: m = Member.objects.get(username=request.POST['username']) except Member.DoesNotExist: return render(request, 'login.html', {'response…

【Django】UnicodeEncodeError: ‘ascii’ codec can’t encode characterが出たら

Djangoでmodelsで定義しているモデルで日本語を使うと 以下のエラーが出る場合があります。 UnicodeEncodeError: ‘ascii’ codec can’t encode character その場合は、モデルにdef __unicode__(self)を追加しましょう。def __str__(self)だけだとだめみたいで…

【Django】サイト内でのユーザIDの保持について

Webサイトでは必須のユーザIDの保持について、 Djangoでの方法を備忘録。 セッションの使い方 — Django 1.4 documentation 下記は上記サイトから引用ログイン時にユーザのIDを保持し、 ログアウト時に削除する def login(request): m = Member.objects.get(u…

【Django】作業フォルダからプロジェクト作成までの備忘録

作業フォルダからプロジェクト作成までを備忘録 ※すでに環境構築が完了しているものとする ※開発環境については以下の記事をご参考ください。 qstairs.hatenablog.com 任意のフォルダで以下を順に実行することでプロジェクト作成まで完了。 $ mkdir work_fol…

【Django】DjangoでBootstrapを使えるようにする3ステップ

はじめに Webアプリで大事な要素の一つは見た目、見栄えではないでしょうか。 ただ、私のようにデザインがよく分からないという方も多いはず。 そんなエンジニアを救ってくれるのがBootstrapというわけです。 #Webアプリ開発の達人である友人に教えてもらい…

【Django】Django始めました

はじめに 前にRuby on RailsによるWebアプリケーションの開発について勉強しました。qstairs.hatenablog.com 今回は、Django(これでジャンゴと呼ぶらしい。)を使ったWebアプリケーションの開発を勉強します。 Djangoはpythonをベースにしたフレームワーク…

【Deep Learning】NNの重みの傾向(差分とヒストグラム)

はじめに 前にNNの重みに関する見解を書きました。 そこでは、以下のようにまとめていました。 学習による割り当てられる重みの初期値の差異は大きく、 繰り返し学習による重みの変化は小さいことが分かった。これらから、NNモデルの学習では重みの初期値が…

【Deep Learning】fetch_mldataでmnistのデータを取得できない場合の対処(Chainerの場合)

はじめに mnistを使った実験を行いたい場合、 これまでは「fetch_mldata」でmnistのデータを取得していましたが、 どうやら取得できなくなっている模様です。 #Irisは取得できています。そこで、fetch_mldataではなく Chainerにあるmnistを取得する関数を使…

【Deep Learning】NNの重みは学習の度に異なり、初期値から大きく変化しない

はじめに NNを学習する際に まずは各重みに初期値が割り当てられる。そして、NNの学習はこの初期値の重みを変えながら進んでいくことになる。つまり、初期値が大事になる。そこで、今回は 初期値が学習のたびにどれだけ異なるのか 繰り返し学習によってどれ…

【Deep Learning】Chainerを使ったニューラルネットワークを再勉強

はじめに これから私が事業を考えていくうえで欠かせない技術が Deep Learningをはじめとした機械学習です。これまでは画像認識の分野でCNNを用いた画像の識別を勉強してきましたが、 CNNではなくRNNのほうが、私が考えている事業で利用することになります。…

【画像認識】Pythonで画像認識とか(テンプレートマッチング:正規化相互相関)

はじめに 最近はDeep Learningを使った画像認識ばかりでしたので、 画像認識の初歩に立ち返ってテンプレートマッチング処理をpythonとOpenCVで実装しました。 楽しみながらやりたかったので、 今回テンプレートマッチには麻雀牌を選びました。 また、いくつ…

【画像認識・AI】Deep Learning「Chainer」で中間特徴量を画像化する方法

はじめに 中間特徴量を画像化してみたくなったので、前に紹介した学習モデルを改良しました。 考え方 ネットワーク内の各層の入力と出力は配列になっています。 つまり、適当なサイズで二次元にしてあげれば画像になります。 以降に載せている処理を参考にし…

【画像認識・AI】TensorflowがついにWindows対応!!

米Google Inc.は29日(現地時間)、機械学習のために開発されたオープンソースライブラリ「TensorFlow」の最新版v0.12が公開されたことを、公式ブログ“Google Developers Blog”で発表した。本バージョンでは、Windowsが新たにネイティブサポートされた。 for…

【画像認識】Deep Learningフレームワーク「Chainer」でGPUがメモリ不足となったとき

Deep Learningフレームワーク「Chainer」でGPUがメモリ不足となったときはloss.backward() の後に loss.unchain_backward()を入れるだけで解消する。※unchain_backward()は、 どこからも参照されない中間変数や関数のメモリ割り当てが解放されるようだが、 u…

【Python】便利な引数管理「argparse」の基本的なソースコード(int,float,str,bool)

はじめに 最近仕事でPythonを使って簡単なツールを作ることが増えてきました。 これまでほとんどC++しか使っていなかった私にとって、 Pythonはとてつもなく扱いやすくて、楽で、早く開発できる最強のソースコードとなっています。とはいえ、Pythonのすべて…

【画像認識】Deep Learningフレームワーク「Chainer」で自前データで識別する方法

はじめに 前回は自前で用意したデータを使用した「Chainer」での学習方法について紹介しました。 qstairs.hatenablog.com今回は、前回学習した結果(モデル)を使用した識別処理について紹介します。 識別の流れ 識別の流れは大きく分けて以下のようになりま…

【画像認識】Deep Learningフレームワーク「Chainer」で自前データで学習する方法

はじめに 前回は「Chainer」で学習するための下準備として、 学習データのリストファイルを作成する方法について紹介させていただきました。qstairs.hatenablog.comということで、準備は完了したのでいよいよ今回は学習について紹介します。 学習の流れ 学習…

【画像認識】Deep Learningフレームワーク「Chainer」で学習する下準備

はじめに 前回、Chainerの構築方法とMNISTの実行例を紹介しました。qstairs.hatenablog.comMNISTのようなチュートリアルが実行できただけでは面白くないので、 自分でいろいろ試せられるようになるための方法を勉強していきます。ということで、 まずは、自…

広告