AI_ML_DL’s diary

人工知能、機械学習、ディープラーニングの日記

conda environment-3

conda environment-3

*作業予定(以下の①から④まで完了するまでは、終われない)

① conda environment の学習結果をまとめる。

② conda env を新たに2つ作成する。

➂ 作成したconda env の1つを、Anaconda3と同じ環境にする。

④ 作成したconda env の1つに、kerasが使える環境を、condaでパッケージを1つ1つ選定しながらインストールする。

*それでは、①から始めよう。

DataCamp のTerminal と、Anaconda Powershell Prompt (Anaconda3)の両方で、作業内容を確認しながら進める。ここにメモするのは、後者(Anaconda3)の表示内容。

conda のバージョン確認

conda --version

conda 4.7.12

 

conda の機能の説明を表示(ここでは、一部を例示)

conda --help

conda is a tool for managing and deploying applications, environments and packages.

  command

    create    Create a new conda environment from a list of specified packages.

    install    Installs a list of packages into a specified conda environment.

    remove    Remove a list of packages from a specified conda environment.

    update    Updates conda packages to the latest compatible version.

 

conda install の説明を表示(ここでは、ごく一部を表示)

conda install --help

Installs a list of packages into a specified conda environment.

    This command accepts a list of packages specifications (e. g. bitarray=0.8)

    and installs a set of packages consistent with those specifications and

    compatible with the underlying environment.  If full compatibility cannot

    be assured, an error is reported and the environment is not changed.

    Conda attempts to install the newest versions of the requested packages.  To

    accomplish this, it may update some packages that are already installed, or

    install additional packages.  To prevent existing packages from updating,

    use the --freeze-installed option.  This may force conda to install older

    versions of the requested packages, and it does not prevent additional

    dependency packages from being installed.

Positional arguments:

  package_spec     Packages to install or update in the conda environment.

・内容が非常に多くて、とても追えない。

・conda install の際に、conda の package manager が、バージョン間の調整をしているからこそ、数十、数百のソフトの集合体が、正しく機能している。

・プログラミングの勉強のために本を購入すると、ソフトAはバージョンX、ソフトBはバージョンYにするようにと指示されていることがある。これ自体は正しくても、これを無理にやろうとすると、たとえば、ソフトCと齟齬が生じるかもしれない。

・Anacondaを使うなら、とことん、conda の指示に従うのがよさそうだ。

 

Semantic Versioning : MAJOR.MINOR.PATCH

1. MAJOR version when you make incompatible API changes,

2. MINOR version when you add functionality in a backwarda compatible manner, and

3. PATCH version when you make backwards compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

・TensorFlow の1.4 から2.0 へのバージョンアップは、まさに、incompatible なんだから、インストールは要注意だったんだな。

 

・conda install では、conda が、既にインストールされているパッケージとの調整をしたうえで、最適なバージョンを選定するので、どのバージョンがインストールされるかわからない。

・install の作業をしているTerminal 画面等にinstall 中に表示されるが、後から確認するには、conda list を使えばよい。

 

*パッケージがconsistent であっても、プログラムコードが、バージョンが違うパッケージに基づいて書かれていた場合には、実行中にエラーが生じることがあり、このときに、あわてて対応しようとして、パッケージを不注意に変更すると、パッケージを壊してしまうということが・・・あったな。

 

*conda install により、バージョン指定でより新しいパッケージをインストール方法と、conda update により、パッケージ名だけ指定してアップデートする方法がある。状況や目的により適切に使い分ければよい。

 

 *conda remove は、インストールしたパッケージを何かの理由で除去する命令。

・このとき、除去するパッケージのバージョンだけが古いために、インストールされている他のパッケージがそれに合わせて古いバージョンであったとすると、conda remove が実行されると同時に、他のパッケージが、自動的にバージョンアップされることになり、画面にパッケージ名がたくさん表示されるため、そのことを知らないと、何かの間違いではないかと思って、実行を中止してしまうことが・・・あった。

 

*conda search は、conda package に対してインストールできる、パッケージのバージョンを、教えてくれる。

 

*conda info は、依存性があるパッケージ間のバージョン情報を、教えてくれる。

・これだけでは何のことかわからないと思うが、とりあえずメモとして。

 

*conda environment はまだまだ先の方にある。やればすぐに出来るような気がしているのだが、周辺を固めておきたいのと、できるだけ英語に慣れておきたいために、カメさんのようなスピードで進んでいる。

 

conda channel     Anaconda Cloud    public cloud    personal conda channel

conda search -channel conda-forge --platform linux-64 | wc

anaconda search 

・conda channel は、まだよくわからんが、たとえば、Anaconda Cloud に登録した個人や機関が作成した10000件を超えるパッケージがあるので、うまく使いましょうってことかな。

 

*今日はここまで。明日もこのページで続ける。

*10月20日:進捗なし。

 

  

f:id:AI_ML_DL:20191018233333p:plain

style 010

f:id:AI_ML_DL:20191023134818p:plain

DeepDream

f:id:AI_ML_DL:20191019104811p:plain

style 011

 

f:id:AI_ML_DL:20191023134857p:plain

DeepDream