2021年6月20日日曜日

Tensorflow2(1)はじめます

Tensorflowしよう!

入門書を買いました.著者が外国人なのでO'Reillyの書籍みたいなとっつきにくい内容かと思ったのですが、本屋で中身を確認して納得して買いました.各種toolの名称すら知らない初心者がtoolをインストするところから手ほどきを受けるのに役立ちます.

各種toolについて説明しましょう.

Python
これは説明するまでもないでしょう.簡単に使えるけど動作速度はのろいです.

Jupyter Notebook
Pythonをインタラクティブに使える仮想環境.
Notebookという名前からは、windows画面上に仮想desktopが表示されるのかなと思ったら違いました.
windows上に窓が開くのはその通りなのですが、窓の使い勝手はまるで「mathematicaのインターフェース」です.手打ちで1+2とかできるあの環境です.機械学習であれにまた出会うとは思ってませんでした.

Anaconda
Python開発のための仮想環境パッケージの一つと思えばいいんじゃね?
Jupyter NotebookはAnacondaの中に含まれているので、本書で最初にやるのはAnacondaのインストールである.(HDDを3GBも喰う)

Anaconda Navigatorを起動して、Pythonを動かす仮想環境を作る.
デフォではbaseという仮想環境が存在する.Anaconda Navigatorの表示を見た印象ではやたら多くのライブラリがbaseにインストされている模様.
自分専用の仮想環境(hiratest1)を作る.hiratest1にはbaseよりも遥かに少ないライブラリしかインストされていない模様.わたしが聞いた事のあるものはpython, pip, vc, vs2015_runtime, openssl ぐらいかな.

この後でnumpyライブラリを追加しますが、軽くトラブル発生.numpyがlistされません.「update indexボタン」を押したらnumpyが見えるようになりました.

さらにJupyter Notebookをインストします.
これでやっとJupyter Notebookが動くようになりました.chromeのタブとして開きます.mathematicaのな~んか使い慣れないインターフェースの始まりです.

この後は、不慣れなPythonの使い方に慣れなくちゃいけません.

ここまでで入門書の第2章が終わりです.実はまだTensorFlowはインストされていません.

Keras
TensorFlow APIそのものよりも直感的に使えるようにしたラッパー.使いやすいので人気になったためTensorFlow2ではKerasもAPIとして正式採用された.
第2章までではまだKerasを使う段階には至っていません.

ーーーー
第3章からは、いよいよTensorFlowが始まります.

最初にTensorFlowをインストします.

そして「最小2乗法」「勾配降下法」を実装して動かすという初歩的な勉強が始まります.

先は長いです.

かしこ

18 件のコメント:

  1. おめでとうございます。
    ちなみにわたしは、pythonの環境を2年くらい前に入れましたが、なんにもしてないよう(>_<)

    返信削除
    返信
    1. パイソン、アナコンダ、、、蛇シリーズなので、マムシ、ハブ などを採用して欲しいとこですね.

      削除
    2. >蛇シリーズ
      オカルト的には、やっぱり
      「レプティリアン」
      につながる技術なんでしょうね。
      ※この期に及んで、急に「python」が、脚光を浴びるなんて、どう考えてもおかしいし。

      削除
    3. ついてはアヌンナキまで行っちゃって欲しいですね.
      デービッドアイクを元気づけてあげましょう!

      削除
  2. >窓の使い勝手はまるで「mathematicaのインターフェース」
    いや「mathematica」知ってるなんて、もう完全に「ソフトの人」ですよw
    (まぁ、正確には『両刀使い』ですね。私も、どちらかというとそうですが。)
    ※OriginがUnix系(X-Window)なので、Windows使いからすると、ちょっと異様なやつ
    元が、Qtのソフト(Coq とか GnuPlot とか)は、「みんな同じ」に、見えるんだよね

    返信削除
    返信
    1. >Jupyter Notebook
      どこかで聞いたことあると思ったら、これは、
      「汎用統合プログラミング環境」のやつですね。
      (要するに、汎用、汎言語版「VisualStudio」みたいなやつ。別に、AI開発のために作られたわけじゃない。というか、便利なので「AI開発にも」使ってるって感じなんだろうな)

      >pythonの環境
      別に、pythonやりたいんじゃないけど、「いろんな開発」に、手を出してると、なぜか「行き当ってしまう」ので、自分のPCにも、python2.7/python3.8 が、入ってます。
      (というか、いい加減「2つのバージョンがいる」のを、やめてほしんだけどな・・・)

      削除
    2. Jupyter Notebookにはいろいろと組み込めるようです.たぶん機能の1%ぐらいしかわたしゃ知らないんじゃないでしょか.

      それでAnacondaからJupyterNBをローンチするんですが、他にも VSCode、QtConsole、RStudio、PyCharm、Datalore、IBM Watson Studio Cloudなどが用意されているみたいです.知ってるの少ないです.

      削除
    3. >なぜか「行き当ってしまう」

      pythonってそうみたいですね.いろんなところに居るもののようです.

      わたしはperlでいいんですけどねw

      削除
    4. >わたしはperlでいい
      私は、「JavaScript」ですねw
      ※pythonなんか出てくる前は「ちょっとしたScript」と言えば、JavaScript系だったのに
      (Flash(これも、いつの間にか「レガシー」に、なっちゃいましたが)の、「ActionScript」として、使われてた、とか、
      pdfには(多分)今でも「Script」として、組み込めたりします。
      ※まぁ、このせいで「AcrobatReader」が、頻繁にアップデートされるようになっちゃったんですが・・・)

      まさに、
      「ヘビに、すべてを飲み込まれつつある」
      のかもしれません。
      (「レプ」の、戦略なんだろうか・・・?)

      削除
    5. そういえばJava関連は一度も使ったことがないです.なんでだろ?

      削除
    6. >Java関連は一度も使ったことがない
      いわゆる「Javaプログラミング」は、
      「業務で、Tomcatを使ったWeb開発」でもしてなければ、やる機会はないと思います。
      ※「Java Applet」なんて、「とっくの昔」に、廃れてますしね。
      そういう意味では、現在生き残ってる「Java環境」は、「Eclipse」くらいですかね。
      Eclipseは、そういう意味では珍しく「純粋Javaアプリケーション」の一つですね。まぁ、あの「IBM」が、サポートしてたから、生き残ったんでしょう。
      (といっても、単にアプリケーションとして使うだけなので、Javaのプログラミングとかは、アドインでも作るんじゃなければ、一般人には関係ないですけどね。)
      ※一時「初心者がまず最初に覚えるべき言語の一つ」なんて言われてましたが、現在は、「Javaが出来ます!」なんていっても、殆ど仕事には役に立ちませんね。
      (別に、Javaを貶してるわけじゃないです。いまは「もっとお手軽な言語」が、たくさんあるんで、「わざわざ」Javaなんかやる必要はない、くらいの話です。)
      Web系も、「難解なjava」よりも、「PHP」とかのほうが、需要があるし。
      (そういう意味では、COBOLと同じで「過去の資産のマイナーチェンジ」な仕事は、まだそこそこあるんじゃないかな?)

      まぁ、いずれにしても、Javaは、「これから始めるべき言語」じゃないよな、もう既に。

      削除
    7. ちなみに(ご存じとは思いますが)
      「Java」と「JavaScript」は、
      「まったくの別物」です。似てるのは、名前だけです。
      (両者とも「C言語の影響を受けてる(perlもそうですが)」ので、構文が似ているところはありますが、直接の関係はありません。

      削除
    8. いやはや、JAVAとJavaScriptが別物ってこと自体知りませんでした.
      より便利な言語に取って代わられてしましましたか.な~む~

      削除
    9. >JAVAとJavaScriptが別物ってこと自体知りませんでした
      まぁ、少なくとも「この世界ではそう」ということなので、気にしないでください。
      ※というか、↑のを書くときに、「C言語の影響を受けてる言語」がうろ覚えで
      WikipediaのC言語のところ見てたんですが、記述内容が「自分の知ってる内容」と、若干違ってたんであせりました。
      (個人的には「マンデラ・エフェクト」レベルなんだが・・・。ちょっと怖い。)
      (もしかしたら、「JAVAとJavaScriptが同じ」な、「パラレルワールド」もあるのかもしれない・・・)

      削除
    10. 「python」も、今のWikipediaには、
      >1991年に最初にリリースされた
      ってあるけど、前は違ったような気がするんだよな・・・
      (なので、↑に「急に脚光を浴びるなんて、どう考えてもおかしい」って書いたんですが。)
      (これも個人的には「マンデラ・エフェクト」で、それこそ、何者か(レプ?)が、「歴史を書き換えてる」んじゃないかってレベルなんだよね。)

      ※まぁ、個人の妄想ってことにでもしておいてください。面倒ごとに巻き込まれるのは嫌なんで。

      削除
    11. puthonってそんな古くからあったんですか.へぇー
      それにつけてもデイビット・アイク~

      削除
    12. >puthonってそんな古くからあった
      いや、私の記憶だと、
      「つい最近」
      できたようなやつだと思ってたんですが。
      (なので「他の言語のいいとこどり」をしている。
      「字下げ」で、C言語などの「{}」と、同じ効果を出す、とか、
      後発じゃないと出来ないことをやっている、というハズだったんですが。)

      ・歴史が「改変」さてる!?

      削除
    13. そうですよね.10年前には既に流行していて知人の誰かが使ってましたけどそれとて2011ですので.

      削除