Bader B3 Grinder For Sale, Maasai Rungu For Sale, Ping G710 Irons American Golf, Pearson Ranch Jerky Coupon Code, Clueless Driving Scene, The Real Cost Metal Monster Commercial Actor, Ark Primal Fear Element, Ancient Mongolian Names Female, Giles Matthey Partner, Suzanne Weather Girl, P4 Error Code Mitsubishi, Ding Dong Katya Lyrics, Las Vegas Concerts January 2021, Ding Dong Katya Lyrics, " /> Bader B3 Grinder For Sale, Maasai Rungu For Sale, Ping G710 Irons American Golf, Pearson Ranch Jerky Coupon Code, Clueless Driving Scene, The Real Cost Metal Monster Commercial Actor, Ark Primal Fear Element, Ancient Mongolian Names Female, Giles Matthey Partner, Suzanne Weather Girl, P4 Error Code Mitsubishi, Ding Dong Katya Lyrics, Las Vegas Concerts January 2021, Ding Dong Katya Lyrics, " /> Bader B3 Grinder For Sale, Maasai Rungu For Sale, Ping G710 Irons American Golf, Pearson Ranch Jerky Coupon Code, Clueless Driving Scene, The Real Cost Metal Monster Commercial Actor, Ark Primal Fear Element, Ancient Mongolian Names Female, Giles Matthey Partner, Suzanne Weather Girl, P4 Error Code Mitsubishi, Ding Dong Katya Lyrics, Las Vegas Concerts January 2021, Ding Dong Katya Lyrics, ">
第一言語はPythonです。 皆さんRustやりましょう。 すべての記事を見る 「Python」で他に読むべき記事. 価格: 2,640円(税込) isbn: 978-4-296-10840-4: 発行日: 2021年1月12日: 著者名: からあげ 著: 発行元: 日経bp: ページ数: 344ページ: 判型 業務効率化やAIを自社サービスで取り入れるため、自主的にAIを学んでいる方や、AIの社内勉強会を開催している企業も多いのではないでしょうか。 しかし、AIの学習に取り組む、すでに取り組んでいる初学者の方は困難も多いはず。 そこで今回は、AI … また、対話システム、画像認識システム、音声認識システムなど、様々なAI技術が手軽に試せる&実装できるようになってきていますので、ドンドン試して面白いAIを活用したシステムを作ってみてください。 書いた人. AIが学習するためには、大量のデータが必要となります。, 企業では、ビッグデータを用いてAIに学習させることが多いものですが、個人の場合はどうすればよいでしょうか。, あなたが作りたいAIの種類によって、提供されているサービス(データセット)を利用することをおすすめします。, 画像認識などであれば、Googleの画像検索を使うことも良いでしょう。 画像認識とは、画像のなかに一体何が写っているのか、コンピューターや機械などが識別する技術。画像から色や形といった特徴を読み取り、その特徴をさまざまな学習機に入れて新たな画像を認識できるようにしたパターン認識技術のひとつ。 写真を検索にかける画像検索や、ディープラーニングとの併用によって複雑な特徴を捉えることが可能になり、猫や犬といった生物の画像を認識する技術など、現在さまざまな分野で活用が進んでいる。 たとえば人間の写真であれ … 第1回 ラズパイでAIカメラを自作しよう! 初めの一歩、ラズパイに目、耳、口を追加する | Device Plus – デバプラ . ファイルサイズ. 突然ですが、皆さん「緑茶の中でも選ばれてしまう緑茶は何か」と問われたら何と答えますか? おそらく50%以上の人は「綾鷹」と答えるかと思います。 この記事では、そんな綾鷹を画像認識によって人々に選ばせるAIを作成します。 第二は、Pythonについて楽しく学習して、Pythonの知識をレベ … Copyright© 2019 KREDO IT ABROAD INC. All rights reserved. ソフトダウンロード不要 購読者限定 自作に挑戦 2 住宅価格を予測しよう; 技術などの要諦はこうなっている 購読者限定 これだけは知っておこう!ai活用への基礎知識; ディープラーニングの第一歩 購読者限定 自作に挑戦 3 画像認識 … フクロウ. チャットボットなどであれば、日本語のデータセットがさまざまな場所で提供されているものです。, AIを作る上で、データを集めることは非常に重要となりますが、十分なデータ量を集めることは大変です。, さまざまなサービスを使えば、集めることは比較的難しくありませんが、それなりの労力が必要であることは認識しておいてください。, データを用意したら、実際にAIに機械学習を用いて学習させます。機械学習には「教師あり学習」と「教師なし学習」があります。, 教師あり学習は、人間が教師となって入力データと正解データをAIに与え、そのデータを元に学習をすすめる学習です。, 教師なし学習は、入力データのみをAIに与え、AIが自ら共通項を持つクラスタに分類したり、頻出パターンを見つけたりする学習となります。, これらの学習方法を用いて、入力データに対する出力結果の精度を高めなければなりません。 ai開発でどんなアプリを作れるか、またプログラミング初心者でも、aiアプリを作る方法についてまとめました。自動文字起こしアプリから顔認識アプリまで、作れるように … 2021/1/8. 立山 秀利:ITライター シェア (metamorworks / PIXTA) ディープラーニング(深層学習)は、AIに革新的な進展をもたらした。画像や音声の認識などで成果を上げている。 ディープラーニングを用いたAIをノンプログラミングで手軽に作れるのが、ソニーネットワークコミュニケーションズの「Neural Network Console(NNC)」だ。学習と … Amazonで安田 恒のオリジナルの画像認識AIを簡単に作ろう!。アマゾンならポイント還元本が多数。安田 恒作品ほか、お急ぎ便対象商品は当日お届けも可能。またオリジナルの画像認識AI … Python 【Python入門】input関数の使い … 日本語. 言語. スマホのアプリとして提供するのであれば、アプリに組み込む、といったことになります。, 個人で作成したモデルをサービスに組み込む場合は、Webサービスに組み込むことがおすすめです。, なぜなら、Webサービスはそのほかのプラットフォームに比べて、実装しやすいからです。, 通常、Webサービスとして公開する場合は、サーバーの準備などが必要ですが、最近ではパブリッククラウドを利用して、サーバーレスで公開することも可能となっています。, データセットを公開しているサイトをいくつか紹介しますが、ほとんどが海外のサイトとなっています。, 数少ない日本のデータセットを提供しています。一般人でも利用できるデータセットもありますが、主に研究者向けのデータセットです。, 誰でも無料で利用できるパブリックデータセットです。50億を超えるWebサイトのクロールデータなどがあります。, さまざまな企業や研究機関がデータを公開しています。世界中のデータサイエンティストが競い合うプラットフォームです。, 画像認識用のデータセットであり、機械学習をする上で誰もが利用すると言われるほど有名です。 有効にされ … 画像や音声などの分析を得意とする上に、さらに未来予測の精度の面で従来型aiを凌駕するスペックを秘めており、一躍、aiのメインストリームに躍り出たのです。「ai=ディープラーニング」という認識が広がったのも、ある意味、仕方がないところがあります。 例えば「良い画像か、悪い画像かを判断するaiを作りたい」と考えた場合、なにをもって、良い画像とするのか、という話が出てきます。 素人の私でも、アングルや解像度、明るさなど複 … apiが増える中で開発者にとって「どれを使うか」は大きな問題になってくる。 aiの画像認識は実際に使ってみると人間 … キットは、音声による操作が可能なスマートスピーカーが自作できる「Voice Kit」、画像認識カメラが自作できる「Vision Kit」の2種類。いずれもグーグルのAI技術を活用している。前バージョンでは別売りだったRaspberry Pi(通称ラズパイ)、USBケーブル、設定済みのソフトウエアが入ったSDカードが同梱されている。 グーグルは、新たにグレードアッ … 大学教授レベルのフィリピン人IT教員 AI-scan(エーアイスキャン)は、AIによる画像認識であらゆるものを解析し識別する画像識別エンジンです。パンを画像で会計する画像識別システムや薬剤をカメラで識別する薬剤鑑査シス … そのような未来がきたとき、自分自身、そしてあなたの大切な人を守れますか? 初心者からでも最短で身につきます。 こんにちは。いっしーです。 今、より簡単にAIの構築ができるツールの普及が進んでいます。コードを書くことなく操作できるツールは「GUIツール(Graphical User Interface)」とも呼ばれ … これからの時代に必要なIT×英語のスキルが ai(人工知能)は自作できるなんて言われたらびっくりしますよね。ai(人工知能)は技術が必要そうでこういった分野について勉強していない人には敷居が高いと感じるでしょう。それではai(人工知能)を自作していくのに必要な過程を実際に作っていきながら説明します。 Raspberry Piで日本語Alexaを動かすセットアップ手順 – 打つか投げるか. Cebu IT Park, Apas Cebu City. 自作に挑戦 3 画像認識に挑戦 . 以前書いた記事の続編(後編)ということになります。 www.asanohatake.com とりあえずディープラーニングの基本的なことは理解したつもりでした。 しかし、自分で作ろうと思っても全くどうしたらいいのかわからないことに気づき、勉強法を変えることにしました。 「動画を見たり、本を読んだりするのはもちろん大切だが… データのサイズも小さいため、比較的扱いやすいデータセットとなっています。, 顔認識アルゴリズムのためのデータセットです。67万人を超える顔画像のデータがあります。, Pythonは初心者でも扱いやすく、AIプログラミングのためのライブラリやフレームワークが豊富です。解説図書や解説サイトも多いため、学習しやすい言語と言えるでしょう。, Pythonで利用できるAIのフレームワークは「Keras」や「TensorFlow」などがあります。, 機械学習やディープラーニングといったAIのアルゴリズムを理解するためには、高校~大学卒業レベルの数学知識が必要です。, Pythonのフレームワークなどを用いることで、数学的な知識が無くともAIを構築することは可能ですが、根本的な理解をするためには必要不可欠の知識です。, AIプログラミングで必要な数学知識に焦点を当てた書籍も販売されているため、そちらで学習するとよいでしょう。, 【2019年版】AI(人工知能)プログラミングを初心者から学ぶためのおすすめ本12選, AIの学習モデルを0から自作することは難しいものです。プログラミングの内容も高度であり、挫折する人も多いことが予想できます。, そこで、すでに作成済みの学習モデルを無料で利用できるAPIやサービスを紹介します。, wit.aiは自然言語処理をベースに、言語や音声入力に対するAIを自作することができるサービスです。, wit.aiはほとんどプログラミングをすること無く、AIの学習モデルを作成可能です。, GitHubアカウントかFacebookアカウントによるアカウント登録が必要となります。, 新規アプリの登録、アプリで展開する会話ストーリーの作成、会話の作成といった流れで実装していきます。, 言語・音声処理のAIを自作しようと考えているのであれば、一度使ってみてはいかがでしょうか。, Watson APIは、IBM Cloudから利用できる、複数のAPIサービス群です。, チャットボット(照会応答系)作成用の「Watson Assistant」、画像認識の「Visual Recognition」、音声認識の「Speech to Text」などがあります。, IBM Cloudは、IBM社が提供するパブリッククラウドであり、従量課金制のサービスです。, Watson APIは、無料のライト・アカウントで利用可能であるため、ぜひ一度試してみましょう。, A3RTは、株式会社リクルートテクノロジーズが無料公開しているAPIサービス群です。, チャットボット作成用の「Talk API」、文章校正のための「Proofreading API」、画像とテキストを相互に検索する「Image Search API」などがあります。, APIを利用するためのAPIキーは、メールアドレスを登録することで取得可能です。 発売日. 学習モデルは、あなたが直接プログラミングする方法以外にも、各企業が提供するモデルを使う方法もあります。, さらに、学習済みモデルを提供している場合もあるため、あなたの作成したいAIの種類によって、利用できる学習モデルがないか探してみましょう。, この記事でも、後ほど無料で使える学習モデルのAPIやサービスをいくつか紹介します。, 学習済みモデルは、入力された情報に対して、自動的に出力するものであり、ユーザーによって入力されるためには、サービスに組み込む必要があります。, サービスに組み込む場合、あなたがどのプラットフォームで動かしたいかを明確にしなければなりません。, たとえば、Web上で公開するのであれば、Webサービス(Webアプリケーション)に組み込みますね。 スマート(賢さ)はもちろん最新のAPIやAI機能をラズパイにインストールする事になるのですが、今回はその前段として、それらに必要な情報を収集する検知機能をラズパイに追加していきます。 人間で言えば、目に当たるカメラ、耳となるマイク、そして口になるスピーカーがそれに当たります。 それらをセットアップする事により、ラズパイで音声を録音したり、再生したりする事ができるようになります。またカメラで写真や動画を撮るようにします。 では、スマー … グーグルは、「Raspberry Pi」を使った画像認識デバイスの自作を支援する「AIY Vision Kit」を発表した。 【パソログ】では、ディープラーニングや機械学習などのaiの勉強・運用したい方向けに、必要なスペックとおすすめのbtoパソコンを解説します。 過去に、aiをプログラミングし、その … この記事では約50のguiベースのai構築ツールを「モデル構築」「データ分析」「画像認識」「音声認識」のカテゴリー別にまとめました。 今までAI導入の段階でプログラミングにつまづいていた方や、開発の効率化を目指している方、感覚的にAIについて理解したい方はぜひご参考ください。 aiが「全ての人のもの」になるのは近い。 ブラックボックスに挑む. 今回はUdemyの講座の1つである、【画像判定AI自作にチャレンジ!】TensorFlow・Keras・Pythonで作る機械学習アプリケーション開発入門を受けてきました。講義内では、Anaconda, Python 3, TensorFlow, Keras, 画像処理ライブラリ, スクレイピング・クローリングライブラリなどを活用して、画像判定AI … Page Flip. 音声認識による撮影、その画像に写っている物体認識を行っています。エッジではなくdocomo APIを利用しています。 Alexaを動かす. 日経BP. いくつかのAPIはデモが用意されているため、APIキーを取得して試してみても良いでしょう。, 画像認識では、ラベル付けによって自動的に収集される画像データから、自動的に学習を行います。, プログラミング不要で、簡単なAIを作成できるため、AIの自作方法の概要を学びたいときに利用すると良いでしょう。, この記事で紹介したAPIやサービスを利用することで、比較的簡単にAIを自作することができます。, しかし、細かい部分のチューニングや、仕事としてAI開発を行うのであれば、0から自作しなければなりません。, AIを0から自作するためには、Pythonを始めとするプログラミング言語のスキルは欠かせないものとなります。, また、日本でもAI分野の技術は発展を続けていますが、現在でも多くの情報は海外が中心です。, これから、AIエンジニアやAIプログラマーを目指したいのであれば、プログラミングスキルと合わせて、英語のスキルも必要不可欠であると言えます。, 未経験からAIエンジニアやAIプログラマーになるためのプログラミングスキルと合わせて、海外で働くための英語学習まで行えるKredoで、一緒に学んでみませんか?, AIを自作するには、「データを集める」「学習済みモデルを作る」「サービスに組み込む」と大きく3つのステップが必要です。, AIを自作するために必要なものとしては「大量のデータ」「プログラミングスキル」「数学の知識」があります。, プログラミングスキルがなくとも、無料で公開されているAPIやサービスを利用することで、AIを自作することは可能です。, しかし、オリジナルのAIを作成するのであれば、プログラミングスキルは欠かせないもの。, まずは、無料公開されているAPIやサービスを通じて、AIの概要を掴み、オリジナルのAIを作るためのプログラミングスキルを身に着けていくと良いでしょう。, 「これからの時代、プログラミングと英語が必要そう…」 AI ブロックが使える特別な Scratch にアクセス。拡張ブロックの中から「画像認識ブロック」を追加しましょう。 新しく追加された6つのブロックを使えば、AIの画像認識機能を Scratch で使えるようになります。 Scratch にアクセス. しばらく更新の間隔があいてしまいました 今日はPythonでAI画像認識アプリを作ったので、 その紹介をしたいと思います! 初めての方でも分りやすいように、ai(人工知能)を作るための3つのステップを紹介。aiの学習に必要なデータを集め、機械学習をさせて学習済みモデルを作り、プログラミングを使って … 出版社. 日本人スタッフによる学習サポート 今回はUdemyの講座の1つである、【画像判定AI自作にチャレンジ!】TensorFlow・Keras・Pythonで作る機械学習アプリケーション開発入門を受けてきました。講義内では、Anaconda, Python 3, TensorFlow, Keras, 画像処理ライブラリ, スクレイピング・クローリングライブラリなどを活用して、画像判定AIを作成します。導入方法に関しても解説かありますので、Python … ai研究所の所員のブログのカテゴリーページです。主にai(人工知能)の作り方やai(人工知能)の豆知識、ai(人工知能)に関するニュースを書いています。 第4回 ラズパイでaiカメラを自作しよう!撮った画像を読み上げる、おしゃべりカメラにしよう; 第6回 ラズパイでaiカメラを自作しよう!人の話を聞いて、写真撮影、画像解析するai … スピーキングに特化した英語クラス 1.人工知能学習用にパソコンを自作する際に知っておくべき事(2020年版)まとめ・ディープラーニングには大量の計算が必要なのでクラウドか自作ハードウェアを選ぶ事になる・自作ハードウェアは長期目線ではコストの削減とスピードの向上に繋がる可能性 指定した画像内の文字列を読み取り、取得するプログラムを紹介します。画像の文字列を解析し、テキストとして取得することが可能です!有料、無料、web、アプリ、色々な文字認識… KredoのIT留学で人生を変えてみませんか?, IT関連企業にてインフラエンジニア(SE)として官公庁や銀行などのシステム更改をメインに約10年従事。基本情報技術者・ネットワークスペシャリスト・情報セキュリティスペシャリストなどの資格も取得。その後、IT・Web専門ライターとして、プログラミング、ネットワーク、セキュリティ、AIなどの解説記事を中心に執筆している。「専門知識を初心者でも理解できるようにわかりやすく書く」ことを心がけている。, 14th Floor Central Bloc Corporate ai(人工知能)は自作できるなんて言われたらびっくりしますよね。ai(人工知能)は技術が必要そうでこういった分野について勉強していない人には敷居が高いと感じるでしょう。それではai(人工知能)を自作 … Google ColaboratoryでKerasを使って、自作・自前画像のオリジナルデータセットを活用して、ディープラーニング(深層学習)でおなじみの「畳み込みニューラルネットワーク」(CNN:Convolutional Neural Network)を実装出来るようにしたサンプルコードを作成し、コードの解説をしてみました。, * Keras:Pythonで書かれているTensorFlow上等で実行可能な高水準のニューラルネットワークライブラリ, 「 機械学習プログラミングを始めたものの、自前データセットの壁が超えられない・・・ 」, と考えている方の、何かしらのきっかけになることがありましたら幸いです。 オリジナルデータセットを使って自作画像認識AIを作ってみましょう。, 尚、内容に関しては正確に記載するように努めておりますが、個人で学習した範囲の情報ですので、正確な情報等の詳細に関してはご自身でもよくお調べください。, この記事のサンプルコードを理解するために必要な画像認識関連の深層学習プログラミングの知識を学ぶ上で補助教材となりそうな書籍のレビューや数学・数式関連の情報をまとめておきました。日々の学習の一助になることがありましたら幸いです。, :【1周目 – 学習レビュー】Pythonで動かして学ぶ!あたらしい深層学習の教科書 機械学習の基本から深層学習まで(Aidemy公式教科書), :「Pythonで動かして学ぶ!あたらしい深層学習の教科書 機械学習の基本から深層学習まで」を読むためのギリシャ文字・数学記号, Flaskで機械学習Webアプリ開発ができる日本語チュートリアルの公開を開始しました。 :Flask(Python)Web機械学習アプリ開発入門, 2021年2月8日時点で、Google Colaboratoryに公開中のサンプルコードで初回実行時に警告表示などが出ないように修正しておきました。, このページのコードを活用した、オリジナルデータセット編のFlask(Python)Web機械学習アプリ開発サンプルコードの日本語解説も公開しました。 :【コード解説】自作画像認識編 Flask(Python)Web機械学習アプリ開発入門:画像アップロード判定プログラム, このページのコードを改変して7セグメントのデジタル数字画像認識に挑戦 :【4桁 – 7セグメント編】連続デジタル数字画像認識プログラミング入門(Python・OpenCV・Keras・CNN). Amazonでからあげの人気ブロガーからあげ先生のとにかく楽しいAI自作教室。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマート … 人工知能(ai)の作り方は、現役のエンジニアでもきちんと学習をしていかないと理解することは難しいです。ましてやイチから人工頭脳を作るとなると、さらに難度は上がります。 ですので、初心者の方が── どんなことを学習すれば作ることができるのかわからない どうやって学習していけばいいのかさっぱりわからない などによって、 ここでは、ニューラルネットワークという機械学習で”手書き数字の画像を自動判定するAIプログラム”を作っていきます。 その過程で、Pythonを楽しく学習していければと思い書いたページです。 目標は、2つ! 1. Raspberry Piにマイクとスピーカーを付けてAlexa … Previous page. こんな疑問、要望に答えるべく、AIの自作ステップを解説し、無料で使えるAPIやサービスを紹介していきます。, AI(人工知能)の自作をしてみたい、と考える初心者のあなたに向けた記事になっていますので、ぜひ一読ください。, AIは大量のデータを元に、規則性を見出して判断するものです。 音声認識による撮影、その画像に写っている物体認識を行っています … ai(人工知能)という言葉、最近よく耳にしますよね。そんな中でai(人工知能)を実際に作ってみたい、という人もいるはず。とはいえ、いったい何から始めればよいのか、とまどうでしょう。そこで今回は簡単にできるai… グーグルは、「Raspberry Pi」を使った画像認識デバイスの自作を支援する「AIY Vision Kit」を発表した。 95324 KB. (adsbygoogle = window.adsbygoogle || []).push({}); :program_Keras_cnn_originaldataset_basic.ipynb | Google Colaboratory共有リンク, 2020年9月30日以前の状態では、ファイル圧縮の兼ね合いで各画像(1.png・2.png)をダウンロード後に、パソコンで画像を開こうとしても正常に描画されていませんでしたので修正しておきました。, 丸バツ判定AIできました。 【人工知能・機械学習プログラミングの進捗状況を報告】 Colaboratory・Keras・自前データセット(動画), サンプルコードの動かし方がわからない方は、参考にしてみてください。 動画では、データセットの構造例や、Colaboratoryの環境にフォルダをアップロードする方法例を解説してあります。 今回のプログラムを動かすために必要なデータセットの構造例(機械学習用データセットの作り方), dataset(フォルダ名) — circle(datasetフォルダ内のフォルダ名 – ラベル情報) — cross(datasetフォルダ内のフォルダ名 – ラベル情報), * データセットの作り方は簡単です。「circle」「cross」の各フォルダ内に、対応する画像を配置するだけです。 * 画像の大きさは、特に指定はありません。バラバラの大きさでも実行できるようですが、必要に応じて調整してみてください。, Google Colaboratoryでプログラムを実行する際には、Googleアカウントが必要です。GPUも無料で使えるのでありがたいですね。 Google Colaboratory用のサンプルコードリンク先では、GPUを設定しています。, #① zipファイルをGoogle Colaboratoryにアップロードし、フォルダ化, #② 用意した自前画像で学習(畳み込みニューラルネットワーク:CNN) #このプログラムでは、「判別したい “ラベル情報(フォルダ名)” と “画像” をセットにしたフォルダ」をアップロードすると動くようにしてあります。, !unzip dataset.zip #コード解説 :zip形式ファイルの解凍(フォルダ化)。「dataset」のところをアップロードしたzipファイル名に変更して、プログラムを実行してください。 ファイルを消す場合「!rm dataset.zip」。, このプログラムでは、「判別したい “ラベル情報(フォルダ名)” と “画像” をセットにしたフォルダ」をアップロードすると動くようにしてあります。, 今回のプログラムを動かすために必要なデータセットの構造例 (機械学習用データセットの作り方), dataset(フォルダ名) – circle(datasetフォルダ内のフォルダ名 – ラベル情報) — cross(datasetフォルダ内のフォルダ名 – ラベル情報), データセットの作り方は簡単です。「circle」「cross」の各フォルダ内に、対応する画像を配置するだけです。これならすぐに自作画像認識AIが作れそうですね。 画像の大きさは、特に指定はありません。バラバラの大きさでも実行できるようですが、必要に応じて調整してみてください。, まずは、今回の機械学習プログラムで必要なライブラリ等をインポートします。 Google ColaboratoryのJupyterノートブックの環境で コードを入力後にプログラムを実行してみてエラー表示がでたものを上記のように記載しました。現在書籍や、インターネット上に公開されているサンプルコードによっては、プラスアルファの内容の追記もあるのではないかと思います。, import glob #コード解説 :globモジュールのインポート。引数に指定されたパターンに合うファイルパス名を取得出来る。(‘ *.png’) 等。, import numpy as np #コード解説 :NumPyモジュールのインポート。ここでは「np」という名前でインポート。行列・ベクトル等、多次元配列の数値計算も行える拡張モジュール。, from sklearn.model_selection import train_test_split #コード解説 :scikit-learnからtrain_test_splitをインポート。データセットを分割出来る。, from keras.preprocessing.image import load_img, img_to_array #コード解説 :keras(keras.preprocessing.imageパッケージ)からload_img・img_to_arrayをインポート。 load_img関数:画像ファイルをPIL 形式(Pillow:Python Imaging Libraryから分岐した画像ライブラリのデータフォーマット)で読み込む。 img_to_array関数:PIL 形式からndarrayへ変換。, from keras.models import Sequential #コード解説 :Sequential – モデル層を積み重ねる。.addメソッドで簡単に層を追加。, from keras.layers import Conv2D, MaxPooling2D #コード解説 :Conv2d – 2次元畳み込み層のモジュール。MaxPooling2D – 2次元最大プーリング層のモジュール。, from keras.layers import Dense, Dropout, Flatten #コード解説 :Dense – 全結合層。Dropout – ドロップアウト。Flatten – 入力を平滑化(平坦化:次元削減)。, from keras.utils import plot_model #コード解説 :plot_modelのインポート。学習モデルの可視化が出来る。, from keras.optimizers import Adam #コード解説 :Adam(Adaptive moment estimation)– 学習の最適化手法の1つ。最適化関数。, import matplotlib.pyplot as plt #コード解説 :matplotlibというライブラリのpyplotモジュールをインポート。ここでは「plt」という名前でインポート。グラフの描画に利用。, import time #コード解説 :timeモジュール。処理速度計測で利用。, train_data_path = ‘dataset’ #コード解説 :データセット画像の入ったフォルダの読み込み(ルート)。自分で作成したオリジナルデータセットを使う場合は、Colaboratoryにアップロードしたzipファイルを解凍後のデータセットのフォルダ名を入力します。 (’dataset’を変更します), image_size = 28 #コード解説 :入力画像サイズ。ピクセル(画像サイズを正方形に変換します)。オリジナルデータセットを使う場合は、ここを必要に応じて変更してください。「28」を指定した場合、縦28横28ピクセルの画像に変換します。 *補足:「28」の所はプログラムの記述順としては(width 横, height 縦)のようです。, color_setting = 1 #コード解説 :データセット画像のカラー(「1」はモノクロ・グレースケール。「3」はカラー)。オリジナルデータセットを使う場合は、ここを必要に応じて変更してください。, folder = [‘circle’, ‘cross’] #コード解説 :データセット画像のフォルダ名(クラス名)。データセット画像のフォルダ名(クラス名)を半角英数で入力します。オリジナルデータセットを使う場合は、ここを必要に応じて変更してください。正解ラベルデータに相当します。, class_number = len(folder) print(‘今回のデータで分類するクラス数は「’, str(class_number), ‘」です。’) #コード解説 :オリジナルデータセットのクラス数の取得(判別するラベル)と、取得したクラス数の表示。, X_image = [] Y_label = [] for index, name in enumerate(folder): read_data = train_data_path + ‘/’ + name files = glob.glob(read_data + ‘/*.png’) print(‘— 読み込んだデータセットは’, read_data, ‘です。’), #コード解説 :事前にアップロードしたオリジナルデータセットのフォルダの画像データ・正解ラベルデータを順番に読み込みます。 画像データを「X_image = []」、正解ラベルデータ(各フォルダ名・クラス名)を「Y_label = []」としています。 「read_data = train_data_path + ‘/’ + name」でフォルダの名前を読み込みます。 「files = glob.glob(read_data + ‘/*.png’) 」でフォルダ内の画像を読み込みます。 今回のプログラムでは、分かりやすいように「print( read_data)」で読み込んだデータセットを表示しています。, for i, file in enumerate(files): if color_setting == 1: img = load_img(file, color_mode = ‘grayscale’ ,target_size=(image_size, image_size)) elif color_setting == 3: img = load_img(file, color_mode = ‘rgb’ ,target_size=(image_size, image_size)) array = img_to_array(img) X_image.append(array) Y_label.append(index) #コード解説 :「モノクロ・グレースケール画像」の場合と、「カラー画像」の場合に分けて #2各種設定 のところで設定した「color_setting = 1 or 3」に合わせて、自動で読み込み方法を変えられるようにしています。「color_mode = 」の指定を「grayscale or rgb」に変えています。 画像のサイズも #2各種設定 のところで設定した「image_size = 28」を指定しています。, array = img_to_array(img) #コード解説 :読み込んだ画像をPIL 形式(Pillow:Python Imaging Libraryから分岐した画像ライブラリのデータフォーマット)からndarray(NumPyの独自のデータ構造。多次元配列)に変換。, X_image.append(array) #コード解説 :読み込んだ画像データを追加。, Y_label.append(index) #コード解説 :読み込んだ正解ラベルデータを追加。, X_image = np.array(X_image) Y_label = np.array(Y_label) #コード解説 :Kerasで扱えるように、Numpy配列に変換します。, X_image = X_image.astype(‘float32’) / 255 #コード解説 :整数値(int型)から実数値(float型)に変換し、画像データを正規化。 色の変化を0〜255で表現しているので、255で割ることでデータを0〜1の範囲に正規化。float型にすることで実数値で表現。 正規化前「0〜255」(整数値:0・1・2 …) 正規化実施後「0〜1の範囲」(実数値:0.0・0.1・0.2…), Y_label = keras.utils.to_categorical(Y_label, class_number) #コード解説 :正解ラベルのデータ形式をOne-hotベクトル(1-of-k表記法)に変換。ラベルデータの整数値を2値クラスの行列に変換。 例 – 「整数 0」を「1, 0」と表現。「整数 1」を「0, 1」と表現。, (Y_label, class_number) #コード解説 :サンプルプログラムのオリジナルデータセットでは、「circle」「cross」のデータのため2クラス。, このような形式にすることで、出力結果が「0.1 , 0.9」(「0:circle」の確率10%。「1:cross」の確率90%)を得られる。 画像データが機械学習モデルで、どういう判定結果となっているか?という情報を取得できる。, train_images, valid_images, train_labels, valid_labels = train_test_split(X_image, Y_label, test_size=0.10) #コード解説 :訓練データ(train_images, train_labels)と検証データ(valid_images, valid_labels)に分割。「test_size=0.10」で9割を訓練データにする。1割を検証データにする。, ・訓練データ(test data) :機械学習のモデルを学習(調整)するために利用。, ・検証データ(validation data) :学習に使用していないデータで学習結果を評価。, ・テストデータ(test data) :機械学習モデルの学習が完了後に、訓練データ・検証データに使用していないテスト データを使用し、最終的な精度・予測結果を評価。, 等があるようですが、今回はモデルの学習のところでは検証データ(validation data)とテストデータ(test data)を同じものとして扱っています。厳密には、検証データ(validation data)への過学習予防のために、検証データ(validation data)・テストデータ(test data)を分けた方が良いようです。, x_train = train_images y_train = train_labels x_test = valid_images y_test = valid_labels #コード解説 :「x_train」「y_train」「x_test」「y_test」を定義。, 学習データは多次元のため、行列を大文字で表記することが多い数学の慣習から、(X_train, y_train), (X_test, y_test)等と学習データを表記する際の「エックス」が大文字のサンプルコードを見かけることもあるのではないかと思います。今回は、学習データ・クラスラベル(正解ラベル)共に小文字を利用しています。, *注:model.add(Dense(class_number, activation=‘softmax’))以降のハイライトが失敗していますがご了承ください。, model = Sequential() model.add(Conv2D(16, (3, 3), padding=’same’, input_shape=(28, 28, color_setting), activation=’relu’)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Conv2D(128, (3, 3), padding=’same’, activation=’relu’)) model.add(Conv2D(256, (3, 3), padding=’same’, activation=’relu’)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.5)) model.add(Flatten()) model.add(Dense(128, activation=’relu’)) model.add(Dropout(0.25)) model.add(Dense(class_number, activation=‘softmax’)) model.summary() plot_model(model, to_file=’model.png’), 「Conv2D」を使ってディープラーニング技術でおなじみの「畳み込みニューラルネットワーク」(CNN)を実装しています。, model = Sequential() #コード解説 :Sequential – モデル層を積み重ねる形式の記述方法。.addメソッドで簡単に層を追加できます。, model.add(Conv2D(16, (3, 3), padding=’same’, input_shape=(28, 28, color_setting), activation=’relu’)) #コード解説 :空間フィルタ – 畳み込み演算層。, Conv2D(16, (3, 3)の解説 :「3×3」の大きさのフィルタを16枚使うという意味です。「5×5」「7×7」等と、中心を決められる奇数が使いやすいようです。 フィルタ数は、「16・32・64・128・256・512枚」等が使われる傾向にあるようですが、複雑そうな問題ならフィルタ数を多めに、簡単そうな問題ならフィルタ数を少なめで試してみるようです。, padding=’same’の解説 :今回は出力画像のサイズが変わらないように「padding=’same’」でパディングを実施。フィルタを適用前に0等の要素で周囲を増やすようです。(ゼロパディング) その他にも「stride=(1,1)」(横に1ピクセル・縦に1ピクセルずつフィルタを適用)等とストライドの追加も可能。strideを指定しない場合(デフォルト)は縦・横1ピクセルずつフィルタが適用されるようです。(「stride=(1,1)」の意味), input_shape=(image_size, image_size, color_setting)の解説 :画像のサイズは #2各種設定 のところで設定した「image_size = 28」の設定が反映されます。「color_setting」は #2各種設定 のところで設定した「モノクロ・グレースケール画像」(color_setting = 1)、「カラー画像」(color_setting = 3)の設定が反映されます。今回のサンプルコードでは、縦28・横28ピクセルのモノクロ・グレースケール(白黒画像)を入力しています。, activation=’relu’の解説 :活性化関数「ReLU(Rectified Linear Unit)- ランプ関数」。フィルタ後の画像に実施。入力が0以下の時は出力0。入力が0より大きい場合はそのまま出力する。, model.add(MaxPooling2D(pool_size=(2, 2))) #コード解説 :「2×2」の大きさの最大プーリング層。入力画像内の「2×2」の領域で最大の数値を出力する。, model.add(Conv2D(128, (3, 3), padding=’same’, activation=’relu’)) #コード解説 :空間フィルタ – 畳み込み演算層。「3×3」の大きさのフィルタを128枚使う。出力画像のサイズが変わらないように「padding=’same’」でパディングを実施。 活性化関数「ReLU(Rectified Linear Unit)- ランプ関数」。フィルタ後の画像に実施。入力が0以下の時は出力0。入力が0より大きい場合はそのまま出力する。, model.add(Conv2D(256, (3, 3), padding=’same’, activation=’relu’)) #コード解説 :空間フィルタ – 畳み込み演算層。「3×3」の大きさのフィルタを256枚使う。出力画像のサイズが変わらないように「padding=’same’」でパディングを実施。 活性化関数「ReLU(Rectified Linear Unit)- ランプ関数」。フィルタ後の画像に実施。入力が0以下の時は出力0。入力が0より大きい場合はそのまま出力する。, model.add(MaxPooling2D(pool_size=(2, 2))) #コード解説 :「2×2」の大きさの最大プーリング層。入力画像内の「2×2」の領域で最大の数値を出力する。, model.add(Dropout(0.5)) #コード解説 :ドロップアウト – 過学習予防。今回は、全結合の層とのつながりを「50%」無効化しています。, model.add(Flatten()) #コード解説 :平坦化(次元削減) – 1次元ベクトルに変換する。, model.add(Dense(128, activation=’relu’)) #コード解説 :全結合層。出力128。 活性化関数「ReLU(Rectified Linear Unit)- ランプ関数」。入力が0以下の時は出力0。入力が0より大きい場合はそのまま出力する。, model.add(Dropout(0.25)) #コード解説 :ドロップアウト – 過学習予防。全結合の層とのつながりを「25%」無効化しています。, model.add(Dense(class_number, activation=’softmax’)) #コード解説 :全結合層。Denseのところで、畳み込みニューラルネットワーク(CNN)の最終的な全結合層の出力次元数の決め方は、判定するクラス数を指定します。そのため、出力数は #2各種設定 のところで設定した「class_number」の値を指定(「サンプルプログラムのオリジナルデータセットでは、「circle」「cross」のデータ」の2クラス判定のため、最終的な全結合層の出力次元数が「2」になります。) Softmax関数で総和が1となるように、各出力の予測確率を計算。 例「0.1, 0.9」(0:circleの確率10%。1:crossの確率90%), model.summary() #コード解説 :機械学習モデルの詳細を表示します。サンプルコードでは「畳み込みニューラルネットワーク」(CNN)モデルの表示。, plot_model(model, to_file=’model.png’) #コード解説 :機械学習モデルの流れのイメージを保存します。サンプルコードでは「model.png」という名前のpng画像が、実行中のGoogle Colaboratoryの「ファイル」内に保存されます。, model.compile(loss=’categorical_crossentropy’, optimizer=Adam(), metrics=[‘accuracy’]), 損失関数・最適化関数・評価関数等を指定してモデルをコンパイル(コンピュータが実行可能な形式に変換)。, loss=’categorical_crossentropy’ #コード解説 :損失化関数 – 交差エントロピー誤差を指定しています。今回のような分類問題(識別問題)等で使われるようです。, optimizer=Adam() #コード解説 :最適化関数 – Adam(Adaptive moment estimation)を指定しています。学習の最適化手法の1つのようです。, metrics=[‘accuracy’] #コード解説 :評価関数 – 訓練時と検証時にモデルにより評価される評価関数。学習の評価として正解率も計算します。, start_time = time.time() #コード解説 :今回は、計算にかかった時間のスピード計測もするため処理を始めた時間を記録(取得)します。 history = model.fit(x_train, y_train, batch_size=2, epochs=5, verbose=1, validation_data=(x_test, y_test)) #コード解説 :訓練データで学習を実行します。, x_train, y_train #コード解説 :訓練データ(画像とラベルデータ)を使用。, batch_size=2 #コード解説 :バッチサイズは機械学習分野の慣習として、「2のn乗」(32, 64, 128, 256, 512, 1024, 2048)が使われることが多いようです。 公開されているサンプルコードによっては「1000」等のきりの良い数字を使っている場合もあるのではないかと思います。 バッチサイズのように、サブセットに分けて学習する理由として、学習する際の異常値の影響を小さくするためのようです。今回は、データ数は少ないので小さめの値を指定しています。, epochs=5 #コード解説 :学習する回数を指定します。 学習回数を増やすと計算するのに時間がかかります。Google Colaboratoryではインターネット接続環境で無料で学習を実行できるので、回数を調整する際もありがたいです。 「Early Stopping」という手法もあるようですが、個人で情報収集してみた範囲では、学習回数に関して最終的には試行錯誤のようです。, verbose #コード解説 :ログ出力の指定。「1」だとログが表示されます。 「0」だとログが出ないの設定。, validation_data=(x_test, y_test) #コード解説 :検証用データの指定。 (x_test, y_test)で検証用データ(validation_data)を指定しています。, score = model.evaluate(x_test, y_test, verbose=0) plt.plot(history.history[‘accuracy’]) plt.plot(history.history[‘val_accuracy’]) plt.title(‘Model accuracy’) plt.ylabel(‘Accuracy’) plt.xlabel(‘Epoch’) plt.grid() plt.legend([‘Train’, ‘Validation’], loc=’upper left’) plt.show(), plt.plot(history.history[‘loss’]) plt.plot(history.history[‘val_loss’]) plt.title(‘Model loss’) plt.ylabel(‘Loss’) plt.xlabel(‘Epoch’) plt.grid() plt.legend([‘Train’, ‘Validation’], loc=’upper left’) plt.show(), open(‘cnn_model.json’,’w’).write(model.to_json()) model.save_weights(‘cnn_weights.h5′) print(‘Loss:’, score[0]) print(‘ Accuracy:’, score[1] * 100, ‘%’, ‘(精度 – 100% に近いほど正解に近い)’) print(‘Computation time:{0:.3f} sec’.format(time.time() – start_time)) score = model.evaluate(x_test, y_test, verbose=0) #コード解説 :「x_test = valid_images」「y_test = valid_labels」のデータ画像・正解ラベルで学習モデルの評価を実施。, verbose #コード解説 :ログ出力の指定。ログ出力の指定。「1」だとログが表示されます。「0」だとログが出ないの設定。, plt.plot(history.history[‘accuracy’]) plt.plot(history.history[‘val_accuracy’]) plt.title(‘Model accuracy’) plt.ylabel(‘Accuracy’) plt.xlabel(‘Epoch’) plt.grid() plt.legend([‘Train’, ‘Validation’], loc=’upper left’) plt.show(), matplotlibライブラリのモジュールのpyplotのplot関数で、以下のグラフを表示します。, plt.plot(history.history[‘accuracy’]) plt.plot(history.history[‘val_accuracy’]) #コード解説 :「accuracy:訓練データ(train data)の精度」「val_accuracy:検証データ(validation data)での精度」の記録をグラフ上にプロット(描き入れる)。, plt.title(‘Model accuracy’) #コード解説 :タイトルの表記。機械学習モデルの精度。, plt.ylabel(‘Accuracy’) #コード解説 :グラフのY軸(縦軸)の表記。精度。, plt.xlabel(‘Epoch’) #コード解説 :グラフのX軸(横軸)の表記。エポック数(訓練データを学習させる回数)。, plt.grid() #コード解説 :グリッド(メモリ線)をプロット(描き入れる)。, plt.legend([‘Train’, ‘Validation’], loc=’upper left’) #コード解説 :ラベル(凡例)の表記。 「[‘Train’, ‘Validation’], loc=’upper left’:Train・Validationのラベルを左上にプロット(描き入れる)」, plt.plot(history.history[‘los’]) plt.plot(history.history[‘val_los’]) #コード解説 :「los:訓練データ(train data)の損失関数」「val_los:検証データ(validation data)での損失関数」の記録をグラフ上にプロット(描き入れる)。, plt.title(‘Model loss’) #コード解説 :タイトルの表記。機械学習モデルの損失関数。, plt.xlabel(‘Epoch’) #コード解説 :グラフのX軸(横軸)の表記。エポック数(訓練データを学習させる回数)。, plt.grid() #コード解説 :グリッド(メモリ線)をプロット(描き入れる)。, open(‘cnn_model.json’,’w’).write(model.to_json())#変更コード サンプルコードではコメントアウトしています。 #コード解説 :機械学習モデルの保存。今回は「cnn_model.json」という名前で保存しています。実行中のGoogle Colaboratoryの「ファイル」内に保存されます。, model.save_weights(‘cnn_weights.h5’)#変更コード サンプルコードではコメントアウトしています。 #コード解説 :機械学習モデルの重みを保存。今回は「cnn_weights.h5」という名前で保存しています。実行中のGoogle Colaboratoryの「ファイル」内に保存されます。, model.save(‘cnn_model_weight.h5’) #コード解説 :機械学習の「モデル構造」と学習済みの「重み」を1つのファイルに保存できるmodel.saveを使う方法もあります。 実行中のGoogle Colaboratoryの「ファイル」内に保存されます。, 実行中のGoogle Colaboratoryの「ファイル」内に保存(画像) * model.save(‘cnn_model_weight.h5’) で学習済みモデルを保存した際の例, print(‘Loss:’, score[0]) print(‘ Accuracy:’, score[1] * 100, ‘%’, ‘(精度 – 100% に近いほど正解に近い)’) print(‘Computation time:{0:.3f} sec’.format(time.time() – start_time)), print(‘Loss:’, score[0]) #コード解説 :score[0] – 検証用データの交差エントロピー誤差を表示します。, print(‘Accuracy:’, score[1] * 100, ‘%’, ‘(テストデータに対する精度 – 100% に近いほど正解に近い)’) #コード解説 :score[1] – 最終的な検証用データの正解率(精度)を表示します。今回は100を掛けて%表示しています。, print(‘Computation time:{0:.3f} sec’.format(time.time() – start_time)) #コード解説 :計算処理にかかった時間を表示します。, (time.time() – start_time) :結果出力時の時間 – 学習スタート時の時間, 作成した画像認識AIを使って、画像認識に挑戦してみます。 今回のサンプルコードでは、機械学習の「モデル」(cnn_model.json)の読み込みと、機械学習の「重み」(cnn_weights.h5)の読み込みを行い画像認識AIを作成しています。, import cv2 #コード解説 :コンピュータビジョン向けライブラリのOpenCVのインポート。, import matplotlib.pyplot as plt #コード解説 :matplotlibというライブラリのpyplotモジュールをインポート。ここでは「plt」という名前でインポート。グラフの描画に利用。, import numpy as np #コード解説 :NumPyモジュールのインポート。ここでは「np」という名前でインポート。行列・ベクトル等、多次元配列の数値計算も行える拡張モジュール。, from keras.models import model_from_json #コード解説 :model_from_jsonのインポート。json形式のモデルの読み込みに利用。, from keras.models import load_model #コード解説 :機械学習の「モデル構造」と学習済みの「重み」を1つのファイルに保存できるmodel.saveで保存されたファイルの読み込みのためload_modelをインポート。cnn_model_weight.h5の読み込み用です。, recognise_image = '1.png' folder = ['○:丸', '×:バツ'] image_size = 28 color_setting = 1, recognise_image = ‘1.png’ #コード解説 :画像認識したい画像ファイル名。 (実行前に認識したい画像ファイルを1つアップロードしてください。), folder = [‘○:丸’, ‘×:バツ’] #コード解説 :フォルダ名の設定。学習の際のモデルでは、データセット画像のフォルダ名(クラス名)を「folder = [‘circle’, ‘cross’]」で設定しています。今回は、日本語の表示をしたいので「folder = [‘circle’, ‘cross’]」の順番に「folder = [‘○:丸’, ‘×:バツ’] 」を設定し、日本語の表示が出来るようにしています。, image_size = 28 #コード解説 :入力画像サイズ(画像サイズは正方形)。「28」を指定した場合、縦28横28ピクセルの画像に変換。畳み込みニューラルネットワーク(CNN)の機械学習モデルを訓練した際の設定と同じにする。, color_setting = 1 #コード解説 :入力画像(インプットイメージ)のカラーモード。 「1」はモノクロ・グレースケール。「3」はカラー。 畳み込みニューラルネットワーク(CNN)の機械学習モデルを訓練した際の設定と同じにする。, model = model_from_json(open(‘cnn_model.json’, ‘r’).read()) #コード解説 :機械学習の「モデル」の読み込み。「cnn_model.json」のファイルを読み込みます。, model.load_weights(‘cnn_weights.h5’) #コード解説 :機械学習の「重み」の読み込み。「cnn_weights.h5」のファイルを読み込みます。, model = load_model(‘cnn_model_weight.h5’) #コード解説 :機械学習の「モデル構造」と学習済みの「重み」を1つのファイルに保存できるmodel.saveで作成したファイルの読み込む場合に使います。, img = cv2.imread(recognise_image, 0) #コード解説 :認識したい画像をモノクロ・グレースケールや、カラーを指定して読み込み。 モノクロ・グレースケールの場合は「0」。カラーの場合は「1」 。, img = cv2.resize(img, (image_size, image_size)) #コード解説 :画像を指定した大きさにリサイズ。今回は縦28ピクセル・横28ピクセル。, plt.imshow(img) #コード解説 :認識したい画像の出力。ここに「plt.imshow(img)」を入れるとコード実行時の一番始めに画像が表示されるようでした。, plt.gray() #コード解説 :モノクロ・グレースケールの場合は「plt.gray()」が無いと変な色になります。カラーの場合は「plt.gray()」を消してください。, plt.show() #コード解説 :認識したい画像を表示。「plt.imshow(img)」の後に「plt.show()」を入れるとコード実行時の一番始めに画像が表示されるようでした。, img = img.reshape(image_size, image_size, color_setting).astype(‘float32’)/255 #コード解説 :畳み込みニューラルネットワーク(CNN)の機械学習モデルで訓練した際の画像データに合わせる。, prediction = model.predict(np.array([img]), batch_size=2, verbose=1) result = prediction[0] #コード解説 :画像を予測する。「batch_size=」は、畳み込みニューラルネットワーク(CNN)の機械学習モデルで訓練した際の「batch_size=」に合わせる。「verbose=」でログ出力の指定。「1」だとログが表示されます。「0」だとログが出ないの設定。, for i, accuracy in enumerate(result): print(‘画像認識AIは「’, folder[i], ‘」の確率を’, int(accuracy * 100), ‘% と予測しました。’) #コード解説 :予測結果の表示(確率)。今回は%表示にするために 100を掛けています。, print(‘——————————————————-‘) print(‘画像認識AI:○ or × の予測結果は、「’, folder[result.argmax()],’」です。’) #コード解説 :判別結果の表示。「result.argmax」で配列の最大要素のインデックスを返します。 (予測確率が一番高い正解ラベルを出力), 気がつけば大量のページ数となってしまいました… ここまで読んでくださりありがとうございました。 以上、簡単ではありますがコードの解説です。 1回読んだだけでは、意味が分からないのではないかと思いますが、適宜、用語を調べつつ読み返すことで身につくのではないかと思います。とりあえずはオリジナルデータセットを作成しコードを試してみてください。, 学習の利便性を考え、印刷しやすいようにPDFも作成しておきました。 プリンタの印刷設定で、ブックレット等の冊子風に印刷すると読みやすいのではないかと思います。, * 2021年2月8日時点のこの記事では「acc」「vall_acc」の記述を、「accuracy」「val_accuracy」に変更しています。 PDF版では変更されていませんので、読み替えて頂けますと幸いです。, Webアプリ化に挑戦 :【コード解説】自作画像認識編 Flask(Python)Web機械学習アプリ開発入門:画像アップロード判定プログラム, 【解説】オリジナルデータセットで自作画像認識AI入門 | CNNサンプルコード – Colaboratory・Keras・Python, 【コード全体の概略】自作画像認識AIプログラミング用データセット・サンプルコード・サンプルソース, 【Google Colaboratory用のサンプルコードリンク | Python・Keras:自作データセットでCNNで学習・分類用】, 印刷用PDF:【コード解説】自作画像認識AI:畳み込みニューラルネットワーク(CNN)サンプルコード – Colaboratory・Keras・Python, 【長期レビュー】Parallels Desktop for Macの感想(一覧)キャンペーン等情報付き, 【1周目 – 学習レビュー】Pythonで動かして学ぶ!あたらしい深層学習の教科書 機械学習の基本から深層学習まで(Aidemy公式教科書), 「Pythonで動かして学ぶ!あたらしい深層学習の教科書 機械学習の基本から深層学習まで」を読むためのギリシャ文字・数学記号, 【コード解説】自作画像認識編 Flask(Python)Web機械学習アプリ開発入門:画像アップロード判定プログラム, 【4桁 – 7セグメント編】連続デジタル数字画像認識プログラミング入門(Python・OpenCV・Keras・CNN), program_Keras_cnn_originaldataset_basic.ipynb | Google Colaboratory共有リンク, ダウンロード【印刷用PDF - コード解説】自作画像認識AI:Keras・CNN・Pythonオリジナルデータセット対応の機械学習サンプルコード, 【7セグメント編 – 自動文字検出・抽出OCR】連続文字判定(デジタル数字:1〜4桁以上の連続数字)+再学習, 【7セグメント編】デジタル数字文字検出(物体検出):画像の2値化・膨張処理・輪郭検出枠のカット設定, 【Macアプリのプレミアムバンドル】Parallels Desktop 16 for MacでMacアプリ10種類付きキャンペーン(2021年2月16日〜28日まで), 【日本語版】 Xiaomi Mi スマートバンド 5 (日本語設定ガイド同梱)NFCなし標準モデル シャオミ リストバンド本体セット | Gshopper(Gショッパー), 【macOS Big Sur編】Macのダウングレード方法 - バックアップなし〜Time Machine復元まで対応(Big Sur→Catalina編), 【macOS Big Sur編】Macのクリーンインストール & 移行アシスタント, 【暫定対応例→HARMAN公式リリース開始へ】Adobe AIRランタイムがダウンロード・インストールできない…(2021年), macOS Big Surにアップデートしてみた結果…マウス・ペンタブレットのドライバーの再インストールで試行錯誤, 【Python編】OCRプログラミング:日本語の手書き文字認識(Tesseract OCR), 【サンプルコード】Python・KerasでCNN機械学習。自作・自前画像のオリジナルデータセットで画像認識入門, Windows 10の手動アップデート方法(バージョン1909→20H2・2009)重い・フリーズの対応例付き, 【Python入門】日本語の文字起こしのやり方(音声認識:音声ファイル編)サンプルコード, 【Web開発入門】日本人のためのWeb Development for Beginners(microsoft / Web-Dev-For-Beginners:GitHub).
Bader B3 Grinder For Sale, Maasai Rungu For Sale, Ping G710 Irons American Golf, Pearson Ranch Jerky Coupon Code, Clueless Driving Scene, The Real Cost Metal Monster Commercial Actor, Ark Primal Fear Element, Ancient Mongolian Names Female, Giles Matthey Partner, Suzanne Weather Girl, P4 Error Code Mitsubishi, Ding Dong Katya Lyrics, Las Vegas Concerts January 2021, Ding Dong Katya Lyrics,