python
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 …
WindowsでPython環境を構築し、 ちゃんとPATHも通しているが コマンドプロンプトでpipを実行すると 「Did not provide a command」 になる場合があります。 原因 恐らく、環境変数でPythonより上位に以下のパスがあるため、 PythonのpipよりもPerlのpipが優…
はじめに 最近ではコモディティ化したといえる顔認識技術。 顔認識技術では一般的に 顔検出(どこに顔があるか)→顔照合 という流れで登録済みの顔を特定しています。 今回は顔検出を超簡単にPythonとOpenCVを用いて実現しました。 (なんと118行!) ソース…
最近、AI案件でAWSを扱い始めています。処理速度が必要なので、AWSのp3インスタンスを使用していますが、 困ったことにp3のGPUはTesla V100でCUDA9.0以上しか対応していない!Tensorflow1.4はターゲットはCUDA8.0なので、 ちゃんと動かないという非常事態が.…
WindowsでMiniconda, Anaconda等で、 仮想環境を作成する際の注意点以下コマンドで仮想環境を作成しようとすると、 conda create -n mykeras以下のエラーが出ました。 Error: too few arguments, must supply command line package specs or --file 何やら引…
はじめに DjangoでWEBサービスをガリガリ開発しています。 開発している中で、 views.pyから画面に渡されたリストデータを インデックス指定して値を取得したい事態になりました。予め用意してあるDjangoのテンプレートフィルタの中に、 リストデータからイ…
はじめに ローカル環境でWEBアプリを作成し、 さあ、サーバにデプロイだ! というときに気を付けることを書きます。 #実際に私が引っ掛かってます... 1. サーバ起動のコマンドはいつもと違う 2. 設定ファイルに一手間 1. サーバ起動のコマンドはいつもと違う…
Djangoで開発していますが、 forの中でカウントアップする方法を試行錯誤していました。30分ぐらい調べたり実装したりしましたが ようやく実現方法を見つけたので備忘録 {% for item in items %} {{ forloop.counter }} #先頭(1)から1ずつカウントアップし…
DjangoのModel (django.db.models.Model) で定義したクラスにおいて、 条件に合ったオブジェクトを取得する際、リスト(複数個)を取得する場合は「filter」一つだけ取得する場合は「get」を使用する。 「get」で条件に合ったオブジェクトが複数個存在する場…
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でmodelsで定義しているモデルで日本語を使うと 以下のエラーが出る場合があります。 UnicodeEncodeError: ‘ascii’ codec can’t encode character その場合は、モデルにdef __unicode__(self)を追加しましょう。def __str__(self)だけだとだめみたいで…
Webサイトでは必須のユーザIDの保持について、 Djangoでの方法を備忘録。 セッションの使い方 — Django 1.4 documentation 下記は上記サイトから引用ログイン時にユーザのIDを保持し、 ログアウト時に削除する def login(request): m = Member.objects.get(u…
作業フォルダからプロジェクト作成までを備忘録 ※すでに環境構築が完了しているものとする ※開発環境については以下の記事をご参考ください。 qstairs.hatenablog.com 任意のフォルダで以下を順に実行することでプロジェクト作成まで完了。 $ mkdir work_fol…
はじめに Webアプリで大事な要素の一つは見た目、見栄えではないでしょうか。 ただ、私のようにデザインがよく分からないという方も多いはず。 そんなエンジニアを救ってくれるのがBootstrapというわけです。 #Webアプリ開発の達人である友人に教えてもらい…
はじめに 前にRuby on RailsによるWebアプリケーションの開発について勉強しました。qstairs.hatenablog.com 今回は、Django(これでジャンゴと呼ぶらしい。)を使ったWebアプリケーションの開発を勉強します。 Djangoはpythonをベースにしたフレームワーク…
はじめに 前にNNの重みに関する見解を書きました。 そこでは、以下のようにまとめていました。 学習による割り当てられる重みの初期値の差異は大きく、 繰り返し学習による重みの変化は小さいことが分かった。これらから、NNモデルの学習では重みの初期値が…
はじめに mnistを使った実験を行いたい場合、 これまでは「fetch_mldata」でmnistのデータを取得していましたが、 どうやら取得できなくなっている模様です。 #Irisは取得できています。そこで、fetch_mldataではなく Chainerにあるmnistを取得する関数を使…
はじめに NNを学習する際に まずは各重みに初期値が割り当てられる。そして、NNの学習はこの初期値の重みを変えながら進んでいくことになる。つまり、初期値が大事になる。そこで、今回は 初期値が学習のたびにどれだけ異なるのか 繰り返し学習によってどれ…
はじめに これから私が事業を考えていくうえで欠かせない技術が Deep Learningをはじめとした機械学習です。これまでは画像認識の分野でCNNを用いた画像の識別を勉強してきましたが、 CNNではなくRNNのほうが、私が考えている事業で利用することになります。…
はじめに 最近はDeep Learningを使った画像認識ばかりでしたので、 画像認識の初歩に立ち返ってテンプレートマッチング処理をpythonとOpenCVで実装しました。 楽しみながらやりたかったので、 今回テンプレートマッチには麻雀牌を選びました。 また、いくつ…
はじめに 中間特徴量を画像化してみたくなったので、前に紹介した学習モデルを改良しました。 考え方 ネットワーク内の各層の入力と出力は配列になっています。 つまり、適当なサイズで二次元にしてあげれば画像になります。 以降に載せている処理を参考にし…
米Google Inc.は29日(現地時間)、機械学習のために開発されたオープンソースライブラリ「TensorFlow」の最新版v0.12が公開されたことを、公式ブログ“Google Developers Blog”で発表した。本バージョンでは、Windowsが新たにネイティブサポートされた。 for…
Deep Learningフレームワーク「Chainer」でGPUがメモリ不足となったときはloss.backward() の後に loss.unchain_backward()を入れるだけで解消する。※unchain_backward()は、 どこからも参照されない中間変数や関数のメモリ割り当てが解放されるようだが、 u…
はじめに 最近仕事でPythonを使って簡単なツールを作ることが増えてきました。 これまでほとんどC++しか使っていなかった私にとって、 Pythonはとてつもなく扱いやすくて、楽で、早く開発できる最強のソースコードとなっています。とはいえ、Pythonのすべて…
はじめに 前回は自前で用意したデータを使用した「Chainer」での学習方法について紹介しました。 qstairs.hatenablog.com今回は、前回学習した結果(モデル)を使用した識別処理について紹介します。 識別の流れ 識別の流れは大きく分けて以下のようになりま…
はじめに 前回は「Chainer」で学習するための下準備として、 学習データのリストファイルを作成する方法について紹介させていただきました。qstairs.hatenablog.comということで、準備は完了したのでいよいよ今回は学習について紹介します。 学習の流れ 学習…
はじめに 前回、Chainerの構築方法とMNISTの実行例を紹介しました。qstairs.hatenablog.comMNISTのようなチュートリアルが実行できただけでは面白くないので、 自分でいろいろ試せられるようになるための方法を勉強していきます。ということで、 まずは、自…