ディクショナリのキーをスマートに扱う

190722

ディクショナリのキーをスマートに扱う

ディクショナリを使った処理では、キーが存在するかどうかに気を付けて処理を行わなければなりません。キーを指定した代入を実行する際には、キーが存在しない場合は新たに追加されるので、問題はあまり起きません。気を付けなければならないのは、キーを指定してディクショナリの要素を参照する場合です。存在しないキーを使ってディクショナリの要素を参照しようとすると、例外(KeyError)が発生します。
例えば、ファイルに含まれる英単語の出現回数を数える処理を記述する場合、ディクショナリでは、キーとして同じ要素を登録できません。この性質を利用して、英単語をキーとして、出現回数(数値)を登録したディクショナリを作ることにします。
この例がアイキャッチに掲載したプログラムです。
① lineに英文を代入します
② wordcountの辞書を作ります
③ ループでは読み込んだ行にsplit()メソッドを使ってシーケンスを作っています。英文を空白文字で区切った結果が、1つずつ繰り返し変数に代入されていきます。英文の行が分割されて、繰り返し変数に英単語が代入され、ループが実行されます。
④ 繰り返し変数がディクショナリのキーとして登録されているかを調べています。もしキーとして登録されていたら、単語のカウントを1つ増加します。代入の右側では、キーを使ったディクショナリの参照が行われています。登録されていない単語が現れると、存在しないキーを参照することになります。そのため、in演算子を使ってキーが存在するかどうかを確認する必要があります。この処理がif文で行っていることです。
⑤ カウントに1を入れます。
⑥ ディクショナリのキーを打ち出しています。
⑦ ディクショナリを打ち出しています。

Dictionary-atomの場合

dictionary-PyCharmその2


↑人気ブログランキングに参加しています。ポチっと1票を!

PowerShellを使ってのデバッグと実行

190712

PowerShellを使ってのデバッグと実行

① PowerShellを走らせる
② 「mkdir cgi-bin」でフォルダを作成する(PS)
③ Pythonのプログラムをエディタで作成する(UTF-8)
④ ②で作ったフォルダに出力する
⑤ 「python -m http.server –cgi」を入力する(PS)
⑥ ブラウザーを立ち上げADRフィールドに「localhost」のURLを入力する
⑦ デバッグする
⑧ 正常に動作したらFTPでプログラムをアップロードする
⑨ 「/sample/wareki.py」を入力する
⑩ アイキャッチ画像のような画面で操作する
・入力エリアに「明治」~「令和」を入力する
・1スペース開ける(半角・全角)
・年号を数字で入力する(範囲チェックはしていない)(半角・全角)
・ただしマイナスの数値は半角のみ
・1スペース開ける(半角・全角)
・「年」を入力する(省略可)
・「Enter」または「西暦変換」をクリックする
・「元」年はだめ「1」を入力する
・先頭にスペースを入れても可
・「昭和 100 年」も可
⑪ PowerShellは「cd」、「ls」、「mkdir」、「pwd」etcのLinuxコマンドが使える
⑫ PowerShellではWSLと同様「↑」、「↓」で過去入力した「コマンドライン」が表示され二度打つ必要がない。これもLinuxと同じ。
⑬ 但し「-a」などのパラメータは使えない

以下のリンク気楽にクリックしてお使いください。
和暦→西暦プログラム
西暦→和暦プログラム

以上

↑人気ブログランキングに参加しています。ポチっと1票を!

WSLでの和暦→西暦プログラムの実行

WSLでの和暦→西暦プログラムの実行

①Library→USBメモリー
②USBメモリ-→WSLのディレクトリに
③S_JIS→UTF-8
④Python3の実行(elif07.py)
⑤元号、数字、年(全角)の入力
⑥デリミターは半角(または全角)
⑦数字も半角(または全角)
アイキャッチ画像を参照ください。

↑人気ブログランキングに参加しています。よろしければ1票を!

Atom-WSL-PyCharm相関図その2

190625

Atom-WSL-PyCharm相関図その2

2019/06/25
Atom
① 印刷できない。
② Flaskがない。
③ データベースがない。
④ Moduleの管理が難しい。
⑤ Pythonの各属性を色表示できる。
⑥ JupyterのModuleを引き込むことができる。
⑦ Hydrogenでstep by stepのデバッグができる。(◎)
⑧ Windows特にExplorerが生で使える。
⑨ Demo Programが多数存在する。(◎)
⑩ 「elif」「else」がエラーになるバグがある。
⑪ Pycharmとモジュールの共存できる。

WSL(Windows Subsystem for Linux)
① 印刷できない。
② データベースがない。
③ Jupyterのmoduleを引き込むことができない。
④ Step by stepのデバッグができない。
⑤ Windowsとのやり取りがUSB経由である。
⑥ Pythonの各属性を色表示できる。(◎)
⑦ Flask環境下でデバッグできる。(◎)
⑧ Linuxのコマンドがじかに実行できる。(◎)
⑨ Moduleの管理が比較的しやすい。

PyCharm
① Step by stepのデバッグができない。
② 有料でないとSQLite3(DB)が使えない。
③ 慣れていない。
④ Linuxのコマンドが使えない。
⑤ Jupyter-notebookとの連携がとりにくい。
⑥ 有料でデータベースが使える。(◎)
⑦ 印刷ができる。(◎)
⑧ Atom下のモジュールと共存できる。(◎)
⑨ インタラクティブシェルで実行できる。「Python console」(◎)
⑩ Atomより貧弱であるが属性の色表示がされる。
⑪ パッケージの追加が簡単。

1. sinカーブなど: Atom Hydrogen(Shift + Enter)・PyCharm(Run) 可
2. Image: Atom Hydrogen・PyCharm 可
3. turtle: Atom(Alt + R)・PyCharm 可
4. pandas,numpy: Atom Hydrogen 可
5. flask demoxx: WSL(Ubuntu)・PyCharm 可

以上

↑人気ブログランキングに参加しています。よろしければ1票を!

AtomとPycharm

Atomで作ったPython ProgramをPycharmでデバッグ及び印書する

190623

AtomとPycharm

Atomで作ったPython ProgramをPycharmでデバッグ及び印書する

① Atomで「elif」のエラーになった件をPycharmで実施する
② Atomでsrc(Python)までopen Project
③ Pycharmを走らせる
④ 「File」で「NewProject」Pythonを作成する
⑤ 「File」で「New…」をクリック
⑥ 「elif01.py」を作成(するとAtomのパスが表示される)*1
⑦ 「File」で「New…」をクリック
⑧ Python Fileをクリック(メニューの)
⑨ 「operator01.py」(ファイル名を入力)
⑩ Codeを入力
⑪ 「Run」をクリック
⑫ 「Ctrl+s」保存
⑬ Atom側にも反映されている
⑭ Atom Hydrogenを利用(debug可)
⑮ Pycharmで印刷可能
*1:Pathがsrcまで正常になっていなければ左ペインで指定し直す

以上

↑人気ブログランキングに参加しています。よろしければ1票を!

メニューの追加(Python,lions,NHK超AI入門,Linux,WSL,レジストリ,システムジェネレーションetc.)

メニューの追加(Python,lions,NHK超AI入門,Linux,WSL,レジストリ,システムジェネレーション,Atom,Emacs,markdown,Python,Flask)

「野生の証明」のメニューに「Lions」、「展覧会」、「食事」、「NHK超AI入門」、「Linux」、「WSL」(Windows Subsystem for Linux)、「レジストリ」、「システムジェネレーション」、「Atom」、「Emacs」、「markdown」、「Python」を追加した。
アイキャッチ画像は「Linux」、「WSL」のパスを示している。
①「活動」→「趣味」→「lions」
①-1「活動」→「趣味」→「展覧会」
①-2「活動」→「趣味」→「食事」
②「コンピューター」→「ソフトウェア」→「Deep Learning」→「NHK超AI入門」
③「コンピューター」→「ソフトウェア」→「オペレーティングシステム」→「Linux」(→「Flask」)
④「コンピューター」→「ソフトウェア」→「オペレーティングシステム」→「Windows10」→「WSL」
⑤「コンピューター」→「ソフトウェア」→「オペレーティングシステム」→「Windows10」→「レジストリ」
⑥「コンピューター」→「ソフトウェア」→「システムジェネレーション」
⑦「コンピューター」→「ソフトウェア」→「Editor」→「Atom」
⑧「コンピューター」→「ソフトウェア」→「Editor」→「Emacs」
⑨「コンピューター」→「ソフトウェア」→「Editor」→「markdown」
⑩「コンピューター」→「ソフトウェア」→「言語」→「その他の言語」→「Python(Object指向)」→「Python」

↑人気ブログランキングに参加しています。よろしければ1票を!

Python Program dictionary その2

Python Program dictionary その2

①辞書の定義
②keys()メソッド(keyの一覧表を表示する)
③④辞書にそのキーがあるかないか(if文などとともに用いられる)

↑人気ブログランキングに参加しています。よろしければ1票を!

外付けHDDにUbuntu(Linux)をインストールする(まとめ)

Native Linux用Applicationを使用したい場合などの特別な理由がない限りWSLの使用をお勧めする。

190523

外付けHDDにUbuntu(Linux)をインストールする(まとめ)

最近当ブログに外付けハードディスクを使ってUbuntu(Linux)をしたいがどうだろうという目的で訪れるユーザーが増えている。結論から言うと否である。

① 外付けハードディスクにUbuntuを合計2回インストールした。
② また古いWindows M/CにLinuxを1回インストールした。
③ 現在はBusiness用PCにWSL(Windows Subsystem for Linux)をインストールして使っている。
④ 外付けハードディスクは外国製と国内製の映像録画用HDDで使用した。
⑤ ④はいずれも2~3週間でBoot Errorになった。
⑥ これにより映像用外付けハードディスクはLinuxM/Cとしては不適であるとの結論である。
⑦ ②は1ヶ月半ほど稼働したがそののちBoot Errorを起こした。
⑧ ⑥⑦よりLinuxをインストールすると同じ個所を参照しトラブルを起こしやすい。
⑨ WSLを使ってLinuxを経験したいのなら中古PCで十分との結論に達した。去年の10月インストールして以来現在(5月)まで順調に稼働している。
⑩ Native Linux用Applicationを使用したい場合などの特別な理由がない限りWSLの使用をお勧めする。

以上

↑人気ブログランキングに参加しています。よろしければ1票を!

Chainerが作った「ディープラーニング入門」を紹介!

機械学習を勉強するには、いくつかの知識が必要です。それらを学ぶ上でいろいろな書籍やネットの情報が必要ですが、Chainerが出した「ディープラーニング入門」で必要十分です。

Chainerが作った「ディープラーニング入門」を紹介!

以下、DogFortune(Qiita)さんから引用。

機械学習を勉強するには、いくつかの知識が必要です。

• 統計や線形代数といった数学の知識
• Pythonを使うのでプログラミングの知識
• 画像処理、音声処理といった知識
• 学習を行う為のコンピューティングリソースの準備

それらを学ぶ上でいろいろな書籍やネットの情報が必要ですが、Chainerが出した「ディープラーニング入門」で必要十分です。
これはChainer Tutorialです。
最低限必要な知識がまとめて学べます。

このチュートリアルでは、機械学習を行っていく上で必要な最低限の数学とプログラミングを学んでいくことができます。
• Pythonの文法から条件式、クラスや継承といったところまであります。もちろんNumPyやCuPyもしっかりあります。
• 数学については、微分、合成関数、偏微分といった所もしっかり記述されています。これらを順番にこなすことで、機械学習を行ううえで、「なぜ必要なのか」をしっかり学んでいけます。
• 確率変数、確率分布も学べます。

ここまでしっかりと揃っているうえに、あちこちサイトを行き来しなくてもよい という所が非常に素晴らしいです。

ブラウザで学べる

機械学習の知識がついてきたところで、さぁやってみようと思った時に問題になるのが環境の構築です。数年前に比べたら比較的簡単に環境を構築できるようになってきましたが、フレームワークの進化も非常に早く、ネットの情報がすでに古いといった事も多いです。
このチュートリアルは、ブラウザ上で学ぶことができます。それも、資料の中に登場するコードがそのままブラウザ上で実行できる という所です。
資料はすべてノートブック形式になっていますので、解説とコードが同時に実行できるようになっています。なので、ただ読むだけの資料ではなく、実際にコードを記述してその結果も学ぶことができます。 これは非常にありがたいです。

Google Colaboratoryとして実行できる!!

これがこのチュートリアル最大のポイントです。先ほど資料はノートブック形式になっていると述べましたが、これがGoogle Colaboratoryで実行できるようになっている事です。
資料の上部にある「Open in Colab」ボタンを押すとすぐに開くことができます。
基本的にはJupyter Notebookと同じですが、Google Colaboratoryでは GPUリソースが利用できます。しかも無料です。
ですので処理の重い畳み込みニューラルネットワークも比較的短時間で体験することができます。GPUが絡むと途端に環境構築が大変になるので、ぜひ活用すると良いです。

まとめ

公式にもありますが、 このサイトだけで機械学習・ディープラーニングに入門できる事を目指して作られています。 基本的な知識はすべて網羅されているので、今から始めたい人はぜひ見てみてください。

章立ては次のようになっています。

Step1 準備編
。 1. はじめに
o 1.1. 必要なもの
o 1.2. Google Colaboratory の基本
o 1.3. Colab の基本的な使い方
• 2. Python 入門
• 3. 機械学習に使われる数学
• 4. 微分の基礎
• 5. 線形代数の基礎
• 6. 確率・統計の基礎
Step2 機械学習とデータ分析入門
• 7. 単回帰分析と重回帰分析
• 8. NumPy 入門
• 9. scikit-learn 入門
• 10. CuPy 入門
• 11. Pandas 入門
• 12. Matplotlib 入門
Step3 ディープラーニング入門
• 13. ニューラルネットワークの基礎
• 14. Chainer の基礎
• 15. Chainer の応用
• 16. トレーナとエクステンション

また今後次のような項目が登場するようです。

• 応用編:画像認識 (coming soon)
• 応用編:自然言語処理 (coming soon)
• 応用編:深層強化学習 (coming soon)
• デプロイ (coming soon)

以下Chainerから

「はじめに」

Chainer チュートリアルへようこそ。
このチュートリアルは、機械学習やディープラーニングの仕組みや使い方を理解したい大学学部生以上の方に向けて書かれたオンライン学習資料です。
機械学習の勉強を進めるために必要な数学の知識から、Python というプログラミング言語を用いたコーディングの基本、機械学習・ディープラーニングの基礎的な理論、画像認識や自然言語処理などに機械学習を応用する方法に至るまで、幅広いトピックを解説しています。
機械学習を学び始めようとすると、ある程度、線形代数や確率統計といった数学の知識から、何らかのプログラミング言語が使えることなどが必要となってきます。 しかし、そういった数学やプログラミングの全てに精通していなければ機械学習について学び始められないかというと、必ずしもそうではありません。
本チュートリアルでは、機械学習やディープラーニングに興味を持った方が、まず必要になる最低限の数学とプログラミングの知識から学び始められるように、資料を充実させています。
そのため、できる限りこのサイト以外の教科書や資料を探さなくても、このサイトだけで機械学習・ディープラーニングに入門できることを目指して、作られています。初学者の方が「何から学び始めればいいのか」と迷うことなく学習を始められることを目指したサイトです。
また、本チュートリアルの特徴として、資料の中に登場するコードが、Google Colaboratory というサービスを利用することでそのままブラウザ上で実行できるようになっているという点があります。
ブラウザだけでコードを書き、実行して、結果を確認することができれば、説明に使われたサンプルコードを実行して結果を確かめるために、手元のコンピュータで環境構築を行う必要がなくなります。
本章ではまず、この Google Colaboratory というサービスの利用方法を説明します。
1.1. 必要なもの
• Google アカウント(お持ちでない場合は、こちらからお作りください:Google アカウントの作成)
• ウェブブラウザ( Google Colaboratory はほとんどの主要なブラウザで動作します。PC 版の Chrome と Firefox では動作が検証されています。)
1.2. Google Colaboratory の基本
Google Colaboratory(以下 Colab )は、クラウド上で Jupyter Notebook 環境を提供する Google のウェブサービスです。Jupyter Notebook はブラウザ上で主に以下のようなことが可能なオープンソースのウェブアプリケーションであり、データ分析の現場や研究、教育などで広く用いられています。
• プログラムを実行と、その結果の確認
• Markdown と呼ばれる文章を記述するためのマークアップ言語を使った、メモや解説などの記述の追加
Colab では無料で GPU も使用することができますが、そのランタイムは最大 12 時間で消えてしまうため、長時間を要する処理などは別途環境を用意する必要があります。 学びはじめのうちは、数分から数時間程度で終わる処理がほとんどであるため、気にする必要はありませんが、本格的に使っていく場合は有料のクラウドサービスを利用するなどして、環境を整えるようにしましょう。

(以上Qiitaの記事-DogFortune-及びChainerのはじめにを引用させていただきました。)

↑人気ブログランキングに参加しています。よろしければ1票を!