DL_02 Pythonのインストール

前回紹介した「Pythonによる機械学習入門」(以下テキスト1)を少し読み進めます。

兎に角時代はPythonです。AIなら何がなんでもという感じです。それは否めないでしょう。型のチェックが無い等Javaプログラマーに取って余り好きになれない(スクリプト)言語ですが、仕方が無いですね。

以前Pythonでコーディングした時は、EclipseにPyDevのプラグインを導入して使いましたが、どうも主流では無いようです。

さてインストール方法です。この手の開発は大抵Linuxの方が便利だったりするので、OSはUbuntu 16.04LTSを使う事にしました。PythonのインストールはAnacondaがデファクトスタンダードのようです。

テキスト1のp.4に従いLinux版をインストールしました。2017/12/11現在、Python 3.6.3です。図1-3にはGUIのインストールウィザードが示されていますが、そのような物は表示されず、CUIでのインストールでした。

インストールは此処迄とします。

Pythonにはコンソールによるコマンド実行以外に対話環境や統合環境がいくつか用意されており、それの幾つかはAnacondaをインストールする事で自動的にインストールされます。個々の環境の説明はテキスト1に委ねます。

本日は此処迄です。

 

 

DL_01 入門書の購入

機械学習と深層学習の勉強を始めます。今これらを始めないといかんという切迫感を持っています。世の中の流れが今後大きく変わって行くと思います。インターネットが利用可能になった時も同じ印象を受けました。
単なる利用者であれば、ぽかんとしていても良いでしょうが、情報発信側、コンテンツ制作側、アプリ制作側であり続ける為にはこの技術のマスターは必須だと思います。

では何から始めるかですが、誰でも使えるようなツールを使っていても本質は何も分からないと考えております。この辺はかなり迷いました。つまりパーセプトロンから始めるといつになったら実務的な計算が出来る所迄辿り着けるのだろうという不安が有りました。

しかし有る高名な先生に「理論を勉強しないと駄目ですか?」と聞いたら「そうだ」との答えでしたので、覚悟を決めました。
最初に以下の本を買いました。

「Pythonによる機械学習入門」を選択した理由は、FOCUSさんの講習会のテキストとして採用されていた為です。6万円プラス消費税を払えば、私のブログより効率的に学べる事でしょう。

「ゼロから作るDeep Learning」は上の本に関する情報をネットで調べている時に出くわしました。「ゼロから作る」に惹かれて買いました。しかしこの本のAmazonレビューによると上の本の方が分かり易いとの事だったので、上の本も購入しました。

本日は此処迄とします。

 

ADVENTURE_Magnetic_On_Windows テスト(2)

この回では、前回のデータセットを使って解析を進めてゆきます。
解析手順はAdvMagOnWinマニュアルにも詳細な手順が記載されています。そちらも御参照ください。
3.解析
プログラムをスタートさせた後、新規解析ケースを作成します。メニューウィンドーの「ファイル(F)」→「新規解析ケース作成(N)」を選択します。
現在の解析ケースを保存するか聞いてきますが、「いいえ(N)」を選択します。解析ケースの作成ウィンドーが開き、「次へ」を選択します。
解析するジャンルは、「電磁界解析」で変更せず、「次へ」を選択します。
解析するより細かいジャンルは、「非線形静磁界解析」で変更せず、「次へ」を選択します。
モデル形状のファイルタイプは、「IGES」、「四面体1次辺要素」で変更せず、「次へ」を選択します。
3.1.メッシュ作成
3.1.1.CADモデルの選択
DataSet2.zipを適当なフォルダーに解凍します。
soft.ptn, magnet.ptn, coil.ptn, air.ptn, al.ptn, coil.dat, magnet.dat, material3.dat, magnet.igs, soft.igs, al.igs, coil.igs, air.igs, bh_curveのファイルが出来ているはずです。
メニューウィンドーの「メッシュ(M)」→「IGESファイル選択(I)」を選択します。
IGESリスト ウィンドーが開きますので、「追加」ボタンをクリックします。
ファイル読込ダイアログが表示されるので、解凍したigsファイルを5個順番に「追加」ボタンで追加し読み込んでいきます。
5個のファイルを読み込むとIGES読込ウィンドーの「OK」ボタンをクリックします。
3.1.2.節点密度の設定
次に「メッシュ(M)」→「節点密度設定(D)」を選択します。節点密度設定ウィンドーが開きます。
節点密度の指定方法は幾つかありますが、ここではptnファイルを使って設定します。
節点密度設定ウィンドーの「ファイル」ボタンをクリックし、解凍した適当なptnファイルを選択します(どの解凍ptnファイルも内容同じなので、どれでも可です)。
ファイルの読み込みに成功すれば、基本節点間隔が0.006に変更されているはずです。成功すれば「OK」ボタンをクリックし設定終了です。
3.1.3.表面パッチの作成
CADデータから表面パッチを作成します。「メッシュ(M)」→「表面パッチ作成(P)」を選択します。
表面パッチ作成ウィンドーが開くので「OK」ボタンをクリックすると、表面パッチの計算が始まります。
3.1.3.メッシュの作成
次はメッシュの作成です。「メッシュ(M)」→「メッシュ作成(M)」をクリックします。
メッシュ作成ウィンドーが開きます。ウィンドー内の「表面形状を補正する」のチェックは入れたままで、「OK」ボタンを押すとメッシュ作成が始まります。
計算はしばらく続き、完了すると総要素数、および総節点数が報告されます。筆者の場合、要素数64125、接点数92093でした。「OK」ボタンクリックします。
3.2.解析条件の設定
3.2.1.物性値の設定
Al材はLinux版 渦電流解析をテストするため定義してありますが、Windows版では未だ渦電流解析がサポートされていないので、その他領域と定義します。
air材も磁気抵抗率=795774.7の、その他領域と定義します。
magnet材は永久磁石領域と定義します。
soft材は磁性体領域と定義します。
coil材はコイル領域と定義します。
初期値は適用ボリュームID=0から4までが、磁気抵抗率=795774.7の物性ID=1に定義されています。
これを順番に追加、修正してゆきます。
どの材料が、どの適用ボリュームに設定されているかは、「メッシュ(M)」→「IGESファイル選択(I)」をクリックすることで確認できます。
筆者の場合、air.igs, al.igs, coil.igs, magnet.igs, soft.igsの順にファイルを追加したので、airはボリューム=0、alはボリューム=1、coilはボリューム=2、magnetはボリューム=3、softはボリューム=4に設定されています。
物性値は「解析(A)」→「物性値設定(M)」→「電磁界解析」を選択します。物性データの設定ウィンドーが開きます。
適用ボリュームIDは、選択したIGESファイルの順番に従って、0から4に設定されます。
物性データの設定ウィンドーの物性ID=1の行をクリックすると物性の変更ウィンドーが開きます。
まずcoil材の物性値を設定してみます。左側の「物性の種類」を「その他」から「コイル」に選択しなおします。
「コイル」の設定欄が有効になり、「コイル」の「定義方法」を「RF」から「MD」に変更します。「定義ファイル」は解凍したcoil.datを選択します。
「適用するボリューム」は、筆者の場合、coilはボリューム=2でしたので、「2」に変更します。
「OK」をクリックして物性データの設定ウィンドーに戻ります。
次に磁性体の物性値を設定します。「物性の追加」をクリックします。
物性の追加ウィンドー左側の「物性の種類」を「磁性体」を選択し、物性値の設定欄 磁気抵抗率=757.1、磁性体の定義ファイルに解凍したbh_curveファイルを選択、適用するボリューム=4と入力し「OK」をクリックします。
これで物性ID=1のコイル、ID=2の磁性体が定義されました。
さらに「物性の追加」をクリックします。
物性の追加ウィンドー左側の「物性の種類」を「永久磁石」を選択し、物性値の設定欄 磁気抵抗率=795774.7、「定義方法」を「MD」選択、「定義ファイル1」を解凍したmagnet.dat選択、適用するボリューム=4と入力し「OK」をクリックします。
さらに「物性の追加」をクリックします。
物性の追加ウィンドー左側の「物性の種類」を「その他」を選択し、物性値の設定欄 磁気抵抗率=795774.7、適用するボリューム=0,1と入力し「OK」をクリックします。
以上で領域ボリューム0から4の材料に物性ID=1から4が設定されました。「OK」をクリックします。
3.2.2.境界条件の設定
「解析(A)」→「境界条件設定(B)」を選択します。
境界条件設定ウィンドーが開き、バッチ識別分解能を角度で設定できるようになります。今回は修正せず、このまま「OK」をクリックします。
境界条件設定画面が起動します。
画面では以下のようにモデルを操作します。
*回転 : ホイールボタン(中ボタン)を押しながらマウスを動かすと、モデルが回転します。
*平行移動 : マウスの左ボタンを押しながらマウスを動かすと、モデルが平行移動します。
*ズーム : 右ボタンを押しながらマウスを上に動かすとズームアウト、下に動かすとズームインします。
*節点の選択 : マウスで希望の節点をクリックすると、節点を選択できます。選んだ節点には(ちょっと見にくいですが)黒い四角が表示されます。
*面の選択 : 節点を選択した状態で右クリッすると、節点が所属する面を選択できます。右クリックを続けると、次の面が選択状態になります。
今回の解析では、初期画面の全面にベクトルポテンシャル法線方向ベクトルポテンシャル成分を0に定義します。
上面に属する節点・面を選択します。下図のようになってるはずです。
境界条件設定ウィンドーの「BC」→「BC(Magnetic)」→「Add Magnetic Vector Potentia」を選択します。
「Normal」にチェックを入れ「OK」をクリックします。
同じくした他の面も節点・面を選択、ベクトルポテンシャル「Normal」を選択します。
境界条件の設定が終了したら、境界条件を確認してみます。境界条件設定ウィンドー「View」→「Boundary Condition」→「Cnd format」を選択すると確認できます。
確認ウィンドー「OK」をクリックします。
境界条件設定ウィンドー「File」→「Quit」をクリックすると確認ウィンドーが表示されますので、「OK」をクリックすると、条件が自動保存され設定が終わります。
3.2.3.ソルバー入力ファイル作成
続いて、「解析(A)」→「ソルバー入力ファイル作成(C)」を選択し、入力ファイル作成ウィンドー「OK」をクリックし、作成を行います。
3.3.解析実行
3.3.1.領域分割
領域分割の詳細説明については、マニュアルをご参照ください。
「解析(A)」→「領域分割(D)」を選択すると、領域分割ウィンドーが開きます。
初期条件から変更せずに「OK」をクリックします。
3.3.3.ソルバーの実行
解析計算を始めます。「解析(A)」→「ソルバー実行(R)」を選択すると、ソルバー実行ウィンドーが開きます。
ソルバー実行オプションの詳細については、マニュアルを参照ください。
今回は初期条件から変更なしに、実行してみます。
「スタート」をクリックすると計算が始まります。
計算中は、どのような計算状態にあるのかわからないため若干不安になりますが、じっと待ちます。
約10分ほどで計算終了します。
3.4.解析データの書き出し
解析結果は、AVS、ParaView、Meshman_ParticleViewer_HPCといった可視化ソフトウェアでチェックすることができます。
まず解析結果をParaView可視化データファイルに書き出してみます。
「解析(A)」→「解析結果のエクスポート」を選択すると、解析結果のエクスポートウィンドーが開きます。
出力する物理量として「磁束密度」、「電磁力」、出力形式として「VTK形式(ParaViewなど)」にチェックを入れます。
出力フォルダを指定して「OK」をクリックします。
3.5.AdvMagWinの終了
これでAdvMagWinの操作は終了です。
「ファイル(F)」→「解析ケースの保存(S)」で解析ケースを保存することが出来ます。後日解析条件などを変えて、再実行する場合便利です。
「ファイル(F)」→「終了(X)」で終わります。
次回は、解析データを可視化ソフトで見てゆくことにします。

A12_ADVENTURE_Magnetic_On_Windows テスト(1)

久しぶりにブログへの掲載を再開します。
ADVENTUREを動かすうえでの、課題の一つがLinuxでしか動かせないという制約です。
オープンソースの解析プログラムなので、Windows上にも容易に載せ替え出来そうにも思えますが、実際は困難を極めます。
それでも、なんとかWindows上で試せるように、制限はありますが、ADVENTURE_sold、およびADVENTURE_Magneticの移植が行われ公開されてきました。
最近、Microsoft社よりWindows Subsystem for Linux (WSL)が、64bit版Windows10に正式に導入されました。
WSLを使ってWindows上でも、ADVENTUREを走らせるれる可能性が出てきました。
ただしグラフィックスの問題、OpenMP上の並列計算が可能か、など懸念点があり一筋縄ではいかないようにも感じています。
筆者もWSL/OpenSUSE環境を構築し、ADVENTUREのテストを行おうと準備中です。
こちらについても後日、紹介してゆきたいと思います。
さて今回はADVENTURE_Magnetic_On_Windowsによる、サンプルデータ解析手順を紹介しようと思います。
ADVENTURE_Magnetic_On_Windowsは、Linux版ADVENTURE_Magneticに比べて、渦電流解析ができない、並列計算が出来ないなど、subset版との位置づけにはなります。
しかし取り扱いデータ、および出力データはLinux版とコンパチビリティーが取れています。非線形計算は可能です。
まずWindows版で磁場解析を試してみたい、という要求には答えることが出来ます。
また使用者が増え、ユーザーの声がADVENTUREプロジェクトにフィードバックされれば、渦電流解析を含むWindows版フルセットの開発を後押しする力となります。
ぜひ多くの皆さんに試していただきたいと思います。
1.ADVENTURE_Magnetic_On_Windowsのインストール
ADVENTURE_Magnetic_On_WindowsはADVENTUREプロジェクトのHP(http://adventure.sys.t.u-tokyo.ac.jp/jp/)に行き、ユーザー登録することで無償ダウンロード可能です。
配布ファイルサイズは、約175MBです。
配布されているzipファイルを任意のフォルダー下に展開します。
AdvMagOnWin-0.1bという名前のフォルダーが、展開フォルダーの下に作られます。
AdvMagOnWin-0.1bフォルダーの下にadvmagonwin.batファイルがありますので、そのファイルをダブルクリックするとプログラムが走り出します。
Fig.1のような開始ダイアログウィンドーが開くので、スタートボダンを押します。

スタートボタンを押すとFig.2のようにメインウィンドー、メッセンジャーウィンドー、手順ガイドの3つのウィンドーが開き準備完了となります。

プログラムは、毎回advmagonwin.batをダブルクリックして起動させます。
2.テスト解析CADデータ
ADVENTURE_Magnetic_On_Windowsには、残念ながらCAD機能が備わっていません。一般商用CADソフトで出力されたCADファイルを、ADVENTUREに使えるようにする方法を考慮中です。
現状取り扱えるCADデータは、Ver5.3準拠IGES形式です。
Linux版ADVENTUREプログラムと同じく複数材料のデータを取り扱う場合、接した面を同一形状、同一位相にしておく必要があります。
取り扱いCADデータについては、AdvTriPatchプログラムのマニュアルをご参照ください。
データはMKS単位系で作成してあります。結果もMKS単位系で出力されます。
ここではFig.3のようなデモ用CADファイルを使って、テスト行っていきます。

向かって右側の黄色い棒が、コイル(coil.igs)で上下方向に電流を流します。
青色棒は軟磁性体(soft.igs)です。赤色棒は永久磁石(magnet.igs)。コイル、軟磁性体、永久磁石の裏側に灰色の導電材料板(al.igs)が位置しています。
Windows版では渦電流解析がサポートされていないので、無用な導電板ですが、Linux版でコイルに交流電流を流すと、この導電板に渦電流が流れます。
これらの周りは大気(air.igs)で覆われています。
データは2016年9月18日に公開されていますが、再載しておきます。ファイル名DataSet2.zipです。
DataSet2
デモデータは実用的には、特に意味の無いモデルですが、Linux版を含めたADVENTURE_Magneticの全てのオプション計算が試せるようになっています。
次の回は、このデータセットを使って解析を進めてゆきます。