b/2017/takagi
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
**2017-09-11 [#lab7eb91]
by takataka
- 卒論の目次案を作りましょう
**2017-05-15 [#p055c1d9]
tortoise7での作業がひと段落したので、~
今週は2週前に話を戻して、カーネルへ渡す値を変更できるよ...
これはほぼ完了し、カーネルに渡すバッファ、値を保持、変更...
入力データのダブルバッファにした。~
(まあ、学習の計算にかかる時間が圧倒的に多いのであまり意...
他に複数デバイスの方が遅くなる現状を何とかするべく、~
コードブロック単位のデバイス並列を実装しているがこちらは...
来週も引き続きこの作業をする。~
**2017-05-08 [#p055c1d9]
今週はTortoise7上のNvidiaOpenCLを使ってGPU2枚でNNを動作...
調査の末、修正せずとも2枚で動作させることはできるが、~
特定のAPIに問題があり、バッファの分割範囲を変化させると落...
具体的には、1つのバッファへ同時に2つのデバイスから書き...
各デバイスについてそのバッファの部分バッファを作成(clCre...
分割範囲を更新して再確保後の開放(clReleaseMemObject)で...
また、既存のコードを一切使わずに2GPUで0を書き込むだけの...
部分バッファのサイズを変えて再確保するとやはり次の開放で...
これは恐らくNVIDIAのAPI実装のバグで、~
実際、分割範囲を最初の確保から変化させないとどちらのケー...
違うバージョンのドライバを入れると何か変わるかもしれない...
現状では部分バッファを使わないようにするしか対応できそう...
(後は、1回は任意サイズで確保できるので毎回元のバッファ...
NNの実行速度は固定割り当てではあるがGPU2枚より1枚の方が...
現在の方式ではカーネルを連ねるとその同期で1枚より遅くな...
(その間にドライバーのアップデートや解決法が見つかること...
別の方式を考えようかと思う。~
今は多分、全実行で分割実行しているせいでデバイス間同期が...
指定したコードブロックの各デバイスで時間を揃えて実行でき...
NN的には各層のデルタを別データについてこの方式で計算した...
(計算するデータの量を調整して時間を揃える)~
重みの更新を今のデバイス分割で処理するようにする。~
(この計算にデバイス間の計算結果の依存関係はないので効果...
**2017-05-01 [#p055c1d9]
先週月曜よりTLABのPCであるTortoise7で動作できるよう環境整...
VisualStudioCodeを試したが、~
ビルドプロセスを記述するCMakeを覚えるのが大変そうだったの...
プロキシを越えてプラグインをインストールできなかったので...
(これは恐らくプロキシ設定自動化スクリプトの不備。SOCKSの...
結局IDEとしてEclipseをインストールして、コンパイル、実行...
GPU1つでの動作は問題なかったが、2つではAPIがエラーを返...
実行することができなかった。これは、今週以降調査する必要...
また、NVIDIAのOpenCLでは、CPUがデバイスとして使えないよう...
システムエラーが頻発していたので、金曜日にOSをクリーンイ...
(BIOSの起動キーが分からなくて困った。~
片っ端から試したところ、ファンクションキーではなくDELキー...
最新の17.04を入れたが、初期起動はするものの再起動中に停止...
使うことができなかった。~
何度か入れなおしたが、再現するため土曜日に16.04LTSを入れ...
これらの作業を行っていたため、コーディングは進められなか...
GPU2つでのバグも含め今週以降また作業を再開したい。~
**2017-04-24 [#p055c1d9]
現在、一度ハンドルを作成したカーネル(OpenCLデバイスのプ...
これは、複数デバイスでの処理分割で、引数を変えて別の場所...
細かくハンドルを作成することで、OpenCLハンドルへの設定の...
(これに対する詳細な検証はしていないのでもしかしたら大し...
しかし、同じ重みを使ってテストデータを使おうとした時、こ...
規模が大きくなってくると、いい加減大変なので、値を変更で...
これにはもう少し時間がかかり、今週分として目立った進捗を...
細かい点としては出力のBMP画像の保存(フォーマットはX8R8G8...
次回は、今週分の修正の残りと、重みもファイルに保存できる...
**2017-04-17 [#p055c1d9]
MaxプーリングとMacBookでの動作をさせられるようにした。~
MacBookのCPUデバイスはワークグループサイズが1次元しか十...
CPUを計算デバイスとして使うことはできなかったが、~
自分のPCよりGPUが高速で、調整等には使えそうである。~
Maxプーリングはかなり前からプログラムはできていたが、学習...
何度もプログラムの動作、出力を見直しても問題が発見できず...
重みの初期値が適当に[-1,+1]としていたので、これをダメ元で...
結果が変化したことから、初期値に問題があることが分かった。~
入力次元数に反比例するようにすると学習が進むようになった。~
各層ごとへの入力値が大きく変動することが、問題のようであ...
複数デバイスの実行環境として研究室のパソコンで動かすこと...
パソコンの準備ができるまで、引き続きノートPCで作業を進め...
オートエンコーダー等をやって、別の問題が隠れていないか見...
**2017-04-10 [#p055c1d9]
OpenCLでNNを実装したのでスライドで説明した。~
スライドに書かれたことを読むことすらうまく説明できず、他...
今後は今の製作を続ける予定で、複数演算器を使っていても単...
とりあえず、別環境としてMacBookでも動かせるようにし、動作...
**出来ていること [#p055c1d9]
日付がないものは4/10より前に対応済み~
~
・全結合層+ソフトマックスによる分類~
→活性化関数はSigmoid、ReLU~
→MNISTにて動作確認済み~
・畳み込み層、プーリング層の追加~
→畳み込み層の活性化関数はSigmoid、ReLU~
→プーリングは平均、最大~
→畳み込み+平均プーリングはMNISTにて動作確認済み~
→最大値プーリングは学習が進まない。~
→初期値が良くなかった。MNISTにて動作確認済み(4/1...
・正則化~
→重み減衰、ドロップアウト~
→MNISTにて動作確認済み~
・1つの処理をデバイス分割~
→個人のWindowsPC(IntelのOpenCL)にてCPU+GPUで動作確...
→ホスト側の待機時間が増加。単一デバイスより遅くなる。~
・MacBook(AppleのOpenCL)での動作(4/15)~
→CPUデバイスはワークサイズが1次元しか使えず、対応不可~
・ファイル保存~
→出力をBMP画像で保存。単体では動作。NNに組み込めてい...
・Tortoise7(NVIDIAのOpenCL)での動作~
→GPU1つのみ動作。2つ以上でエラー。要調査(4/27)~
→サブバッファーのサイズが変えられないのが原因。ド...
~
**やりたいこと [#p055c1d9]
まだどうまとめるべきかよく分からない。とりあえず~
・複数デバイスでのパフォーマンスで現行のものにある程度追...
→どう引き比較するか未定。というか、話になるのか不明。~
・何か(?)に使ってみたい~
いずれにしても実装関連で話ができるようにすると思う~
終了行:
**2017-09-11 [#lab7eb91]
by takataka
- 卒論の目次案を作りましょう
**2017-05-15 [#p055c1d9]
tortoise7での作業がひと段落したので、~
今週は2週前に話を戻して、カーネルへ渡す値を変更できるよ...
これはほぼ完了し、カーネルに渡すバッファ、値を保持、変更...
入力データのダブルバッファにした。~
(まあ、学習の計算にかかる時間が圧倒的に多いのであまり意...
他に複数デバイスの方が遅くなる現状を何とかするべく、~
コードブロック単位のデバイス並列を実装しているがこちらは...
来週も引き続きこの作業をする。~
**2017-05-08 [#p055c1d9]
今週はTortoise7上のNvidiaOpenCLを使ってGPU2枚でNNを動作...
調査の末、修正せずとも2枚で動作させることはできるが、~
特定のAPIに問題があり、バッファの分割範囲を変化させると落...
具体的には、1つのバッファへ同時に2つのデバイスから書き...
各デバイスについてそのバッファの部分バッファを作成(clCre...
分割範囲を更新して再確保後の開放(clReleaseMemObject)で...
また、既存のコードを一切使わずに2GPUで0を書き込むだけの...
部分バッファのサイズを変えて再確保するとやはり次の開放で...
これは恐らくNVIDIAのAPI実装のバグで、~
実際、分割範囲を最初の確保から変化させないとどちらのケー...
違うバージョンのドライバを入れると何か変わるかもしれない...
現状では部分バッファを使わないようにするしか対応できそう...
(後は、1回は任意サイズで確保できるので毎回元のバッファ...
NNの実行速度は固定割り当てではあるがGPU2枚より1枚の方が...
現在の方式ではカーネルを連ねるとその同期で1枚より遅くな...
(その間にドライバーのアップデートや解決法が見つかること...
別の方式を考えようかと思う。~
今は多分、全実行で分割実行しているせいでデバイス間同期が...
指定したコードブロックの各デバイスで時間を揃えて実行でき...
NN的には各層のデルタを別データについてこの方式で計算した...
(計算するデータの量を調整して時間を揃える)~
重みの更新を今のデバイス分割で処理するようにする。~
(この計算にデバイス間の計算結果の依存関係はないので効果...
**2017-05-01 [#p055c1d9]
先週月曜よりTLABのPCであるTortoise7で動作できるよう環境整...
VisualStudioCodeを試したが、~
ビルドプロセスを記述するCMakeを覚えるのが大変そうだったの...
プロキシを越えてプラグインをインストールできなかったので...
(これは恐らくプロキシ設定自動化スクリプトの不備。SOCKSの...
結局IDEとしてEclipseをインストールして、コンパイル、実行...
GPU1つでの動作は問題なかったが、2つではAPIがエラーを返...
実行することができなかった。これは、今週以降調査する必要...
また、NVIDIAのOpenCLでは、CPUがデバイスとして使えないよう...
システムエラーが頻発していたので、金曜日にOSをクリーンイ...
(BIOSの起動キーが分からなくて困った。~
片っ端から試したところ、ファンクションキーではなくDELキー...
最新の17.04を入れたが、初期起動はするものの再起動中に停止...
使うことができなかった。~
何度か入れなおしたが、再現するため土曜日に16.04LTSを入れ...
これらの作業を行っていたため、コーディングは進められなか...
GPU2つでのバグも含め今週以降また作業を再開したい。~
**2017-04-24 [#p055c1d9]
現在、一度ハンドルを作成したカーネル(OpenCLデバイスのプ...
これは、複数デバイスでの処理分割で、引数を変えて別の場所...
細かくハンドルを作成することで、OpenCLハンドルへの設定の...
(これに対する詳細な検証はしていないのでもしかしたら大し...
しかし、同じ重みを使ってテストデータを使おうとした時、こ...
規模が大きくなってくると、いい加減大変なので、値を変更で...
これにはもう少し時間がかかり、今週分として目立った進捗を...
細かい点としては出力のBMP画像の保存(フォーマットはX8R8G8...
次回は、今週分の修正の残りと、重みもファイルに保存できる...
**2017-04-17 [#p055c1d9]
MaxプーリングとMacBookでの動作をさせられるようにした。~
MacBookのCPUデバイスはワークグループサイズが1次元しか十...
CPUを計算デバイスとして使うことはできなかったが、~
自分のPCよりGPUが高速で、調整等には使えそうである。~
Maxプーリングはかなり前からプログラムはできていたが、学習...
何度もプログラムの動作、出力を見直しても問題が発見できず...
重みの初期値が適当に[-1,+1]としていたので、これをダメ元で...
結果が変化したことから、初期値に問題があることが分かった。~
入力次元数に反比例するようにすると学習が進むようになった。~
各層ごとへの入力値が大きく変動することが、問題のようであ...
複数デバイスの実行環境として研究室のパソコンで動かすこと...
パソコンの準備ができるまで、引き続きノートPCで作業を進め...
オートエンコーダー等をやって、別の問題が隠れていないか見...
**2017-04-10 [#p055c1d9]
OpenCLでNNを実装したのでスライドで説明した。~
スライドに書かれたことを読むことすらうまく説明できず、他...
今後は今の製作を続ける予定で、複数演算器を使っていても単...
とりあえず、別環境としてMacBookでも動かせるようにし、動作...
**出来ていること [#p055c1d9]
日付がないものは4/10より前に対応済み~
~
・全結合層+ソフトマックスによる分類~
→活性化関数はSigmoid、ReLU~
→MNISTにて動作確認済み~
・畳み込み層、プーリング層の追加~
→畳み込み層の活性化関数はSigmoid、ReLU~
→プーリングは平均、最大~
→畳み込み+平均プーリングはMNISTにて動作確認済み~
→最大値プーリングは学習が進まない。~
→初期値が良くなかった。MNISTにて動作確認済み(4/1...
・正則化~
→重み減衰、ドロップアウト~
→MNISTにて動作確認済み~
・1つの処理をデバイス分割~
→個人のWindowsPC(IntelのOpenCL)にてCPU+GPUで動作確...
→ホスト側の待機時間が増加。単一デバイスより遅くなる。~
・MacBook(AppleのOpenCL)での動作(4/15)~
→CPUデバイスはワークサイズが1次元しか使えず、対応不可~
・ファイル保存~
→出力をBMP画像で保存。単体では動作。NNに組み込めてい...
・Tortoise7(NVIDIAのOpenCL)での動作~
→GPU1つのみ動作。2つ以上でエラー。要調査(4/27)~
→サブバッファーのサイズが変えられないのが原因。ド...
~
**やりたいこと [#p055c1d9]
まだどうまとめるべきかよく分からない。とりあえず~
・複数デバイスでのパフォーマンスで現行のものにある程度追...
→どう引き比較するか未定。というか、話になるのか不明。~
・何か(?)に使ってみたい~
いずれにしても実装関連で話ができるようにすると思う~
ページ名: