フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
【FileSystem】車載外部ストレージ その68【SD応答向上仕様⑰】
再度、PERFORMANCE_ENHANCEの話。 Command Queue Supportの内訳確認。 Queueの深さが分かるパラメータ。 CQ Modeを選択したり有効化するのはPerformance Enhancement Registerを操作する。 Enable CQ。 CQ Mode。
【FileSystem】車載外部ストレージ その67【SD応答向上仕様⑯】
Card-initiated maintenanceについて説明。 Card Initiated maintenance Enableを1にすれば起動。 SDカードバスがIdleの時に勝手にセルフメンテナンスを実施してくれる。 R1フォーマットのcard statusにあるFX_EVENTで完了判定。
【FileSystem】車載外部ストレージ その66【SD応答向上仕様⑮】
Host-initiated maintenanceについて説明。 Performance Enhancement Registerで制御。 Start Host-Initiated Maintenanceで開始。 Card maintenance Urgencyで緊急度設定。
【FileSystem】車載外部ストレージ その65【SD応答向上仕様⑭】
セルフメンテナンス有効化に使うコマンドは以下。 CMD48(READ_EXTR_SINGLE)。 CMD49(WRITE_EXTR_SINGLE)。 基本的にはMemory or I/O、Function Noを指定しての読み書き。 書き込み側はbit単位のマスクができる。
【FileSystem】車載外部ストレージ その64【SD応答向上仕様⑬】
セルフメンテナンスは2種類。 ホスト主導で明示的実行。 カード主導で暗黙的実行。 セルフメンテナンスを有効化するにはPerformance Enhancement Registerを制御する必要がある。 CMD48(READ_EXTR_SINGLE)、CMD49(WRITE_EXTR_SINGLE)を使用する。
【FileSystem】車載外部ストレージ その63【SD応答向上仕様⑫】
SDカードのPERFORMANCE_ENHANCEの説明。 PERFORMANCE_ENHANCEの内訳。 Command Queue。 キャッシュ。 ホスト主導メンテナンス起動。 カード主導メンテナンス起動。 メンテナンスはSDカード内のデフラグ。
【FileSystem】車載外部ストレージ その62【SD応答向上仕様⑪】
SDカードのAPP_PERF_CLASSの詳細の話。 A1,A2共通要件として「連続した1GBの範囲を4MBチャンク」の話がある。 IOPSは1秒当たりのアクセス回数。 SDカードの場合1アクセス4kbyte想定。 A2はA1の4倍の性能。 コマンド・キューとキャッシュを無効条件でA1サポート義務あり。
【FileSystem】車載外部ストレージ その61【SD応答向上仕様⑩】
APP_PERF_CLASSについて説明。 Application Performance ClassはA1、A2がある。 スマホからの高速アクセスを想定してコマンドキュー、キャッシュを駆使している。 上位クラスは下位クラスの仕様を内包する。 3hの場合、A2、A1を内包したA3ということになる。
【FileSystem】車載外部ストレージ その60【SD応答向上仕様⑨】
VIDEO_SPEED_CLASSのVSC_AU_SIZE。NAND-FlashRomの性質上、書き込み単位は大きい方がスループット上有利。よって書き込み性能が高いSDカードほどVSC_AU_SIZEが大き目な傾向。AUサイズは8~512MB。一回の転送はAUサイズでは無く、SUサイズ単位。SUサイズは大体8MB近辺。
【FileSystem】車載外部ストレージ その59【SD応答向上仕様⑧】
VIDEO_SPEED_CLASSについて説明。 スピードクラス各種。 スピードクラス。 UHSスピードクラス。 ビデオスピードクラス。 SD_STATUSのVIDEO_SPEED_CLASSのパラメータを参照することでビデオスピードクラスが分かる。
【FileSystem】車載外部ストレージ その58【SD応答向上仕様⑦】
SDカードのPERFORMANCE_MOVEの話。 PERFORMANCE_MOVEの明細説明。 コピー速度を明記しない場合もある。 Infinity。 シーケンシャルアクセスを前提とした場合、高速書き込みを保証している場合もある。 Sequential Write。Video Speed Classで使用される。
【FileSystem】車載外部ストレージ その57【SD応答向上仕様⑥】
NAND-FlashRomの省メモリ制御についての続きを説明。 NAND-FlashRomは確率的にどこかのBlockが不良Blockになってる。 初期不良Block。 後発不良Block。 よって、リニアアドレス的なアクセスに向いていない。 物理Block、論理Blockに分けて変換テーブルを挟んで管理することが多い。
【FileSystem】車載外部ストレージ その56【SD応答向上仕様⑤】
SDカードのPERFORMANCE_MOVEの話。NAND-FlashRomの共通の性質を説明。page(読み書き)、block(消去)の概念が共通。 NAND-FlashRomの省メモリ書き込み手法説明。書き戻さずに、page単位でコピー。 コピーの最中に書き換えたいpageだけ更新。
【FileSystem】車載外部ストレージ その55【SD応答向上仕様④】
SDカードのSD_STATUS詳細。 今回はPERFORMANCE_MOVEについて。 SDカード内のNAND-FlashRomは消去単位大きすぎて、普通に使おうとするとRAM不足問題になる。 SDカード内部に大容量のRAMを持つとコストが上がる。 よって、RAM使用量削減の手法を用いる必要がある。
【FileSystem】車載外部ストレージ その54【SD応答向上仕様③】
ACMD13(SD_STATUS)で取得できるSD_STATUSの明細。 全てを説明するとボリュームが大きいので以下3点に絞って説明予定。 PERFORMANCE_MOVE。 VIDEO_SPEED_CLASS。 APP_PERF_CLASS。
【FileSystem】車載外部ストレージ その53【SD応答向上仕様②】
CQ(Command Queue) Modeを簡単に説明。Performance Enhancement Function Register で切替ができる。1:Voluntary CQ mode。0:Sequential CQ Mode。Sequential CQ ModeはTask ID順に処理される。
【FileSystem】車載外部ストレージ その52【SD応答向上仕様①】
SDカードには応答向上仕様がある。すべてのSDカードに搭載されてる保証はないため利用シーンは限られる。使用SDカードが決定しており読み書きスループットを最大化させたい場合。応答向上はCQ(Command Queue)Modeがキモ。Voluntary CQ modeとSequential CQ Modeの2種類がある。
【FileSystem】車載外部ストレージ その51【SD読み書きSDモード③】
CMD13(SEND_STATUS/SEND_TASK_STATUS)の話の続きを説明。 CMD13はSend Task Status RegisterでSEND_STATUS/SEND_TASK_STATUSを切替できる。 Task StatusはCommand Queueの状態監視用。 Command Queueについては次回以降説明。
【FileSystem】車載外部ストレージ その50【SD読み書きSDモード②】
バックナンバーはこちら。はじめにSDカードのSDモード通信のCMD13(SEND_STATUS/SEND_TASK_STATUS)の話。登場人物博識フクロウのフクさんイラストACにて公開の「kino_k」さんのイラストを使用しています。エン
【FileSystem】車載外部ストレージ その49【SD読み書きSDモード①】
SDモードの読み書きはSPIモードの手順とほぼ一緒。差分はtokenが無い点。 STOP_TRAN tokenの代わりにCMD12(STOP_TRANSMISSION)を発行する。 SDモードの読み書きの場合、tranが重要なのでCMD13(SEND_STATUS/SEND_TASK_STATUS)で状態確認を行う。
【FileSystem】車載外部ストレージ その48【SD読み書きSPIモード⑧】
CMD12(STOP_TRANSMISSION)による停止について説明。 CMD12のリクエストパラメータはなし。 CMD12のレスポンスはR1bフォーマット。 busy付きなのはだたdata block転送モードを解除するのに時間が必要になることを想定しているためと思われる。
【FileSystem】車載外部ストレージ その47【SD読み書きSPIモード⑦】
CMD18(READ_MULTIPLE_BLOCK)による読み出し説明。CMD18リクエストパラメータも32bit長のdata address。CMD18のレスポンスもR1フォーマット。R1レスポンスに追従する形でdata blockがカード側から送出。CMD12(STOP_TRANSMISSION)で止めるまで送出。
【FileSystem】車載外部ストレージ その46【SD読み書きSPIモード⑥】
CMD17(READ_SINGLE_BLOCK)による読み出しについて。 CMD17のリクエストは32bit長のdata addressのみ。 CMD17のレスポンスはR1フォーマット。 R1レスポンスに追従する形でdata blockがカードから送られてくる。CMD12(STOP_TRANSMISSION)の発行不要
【FileSystem】車載外部ストレージ その45【SD読み書きSPIモード⑤】
Start Block/data Response/STOP_TRAN tokenの発行について説明。 Start Block tokenは'FCh'。 data Response tokenにはstatusパラメータが乗る。 '010'であれば正常。 STOP_TRAN tokenは'FDh'。
【FileSystem】車載外部ストレージ その44【SD読み書きSPIモード④】
「CMD25(WRITE_MULTIPLE_BLOCK)による書き込み」について説明。 CMD25のパラメータは32bit長の"data address" CMD24(WRITE_BLOCK)と一緒。 CMD25のレスポンスはR1フォーマット。 R1レスポンスの後にData Block転送。
【FileSystem】車載外部ストレージ その43【SD読み書きSPIモード③】
ACMD23(SET_WR_BLK_ERASE_COUNT)による消去ブロック数指定について説明。 ACMD23のリクエストパラメータはNumber of blocks。 指定しない場合のdefault値は"1"となる。 仕様書上は書き込み高速化が見込めるとあるが、実際はSDカード側の設計次第。
【FileSystem】車載外部ストレージ その42【SD読み書きSPIモード②】
CMD24(WRITE_BLOCK)による書き込みについて説明。 CMD24(WRITE_BLOCK)のリクエストパラメータは32bitのdata addressが付く。 1block512byteとすると2TBが上限。 CMD24(WRITE_BLOCK)のレスポンスはR1フォーマット。
【FileSystem】車載外部ストレージ その41【SD読み書きSPIモード①】
SDカードのSPIモード通信の読み書きの手順について説明。 詳細は以下の流れで説明予定。 Single Block Write処理。 Multi Block Write処理。 Single Block Read処理。 Multi Block Read処理。
【FileSystem】車載外部ストレージ その40【SD初期化㉓】
「CMD7(SELECT/DESELECT_CARD)によるTransfer State(tran)遷移」について説明。 CMD7にはSELECT_CARDとDESELECT_CARDがある。 Stand-by State(stby)とTransfer State(tran)の遷移に使う。 stbyの方が省電力の可能性あり。
【FileSystem】車載外部ストレージ その39【SD初期化㉒】
CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得の説明続き。 card status bitsはcard statusの一部を切り出したもの。 CMD3(SEND_RELATIVE_ADDR)として、card status内の無関係なエラーパターンを削除したものがcard status bitsになっている。
【FileSystem】車載外部ストレージ その38【SD初期化㉑】
「CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得」について説明。 CMD3(SEND_RELATIVE_ADDR)はパラメータ無しのコマンド。 レスポンスはR6フォーマット。 RCA(Relative Card Address)とcard status bitsを内包。
【FileSystem】車載外部ストレージ その38【SD初期化㉑】
「CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得」について説明。 CMD3(SEND_RELATIVE_ADDR)はパラメータ無しのコマンド。 レスポンスはR6フォーマット。 RCA(Relative Card Address)とcard status bitsを内包。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
動画作成関連のバックナンバー用ページ。立ち絵を作ったり、動画作ったり、アイキャッチ画像作ったりなどを掲載していく。
MATLAB,Python,Scilab,Julia比較するシリーズの第4章。第4章では分類問題で最終的にはニューラルネットワークや最適化アルゴリズムの話だった。第5章はフーリエ解析学から高速フーリエの話がメインとなる。
立ち絵の配置: PSDファイルをAviUtlに配置し、画面サイズやフレームレートを設定。のっぺらぼう化: 目と口を消して、アニメーション効果を追加。アニメーション効果: 目パチと口パクの設定を行い、リップシンクを調整。
フーリエ変換を定義。フーリエの積分公式の一部を抜き出す。逆フーリエ変換を定義。フーリエの積分公式にフーリエ変換を代入するだけ。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。区分求積法とリーマン積分について。フーリエの積分公式を導出した。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。さらにそこに加えて、AivisSpeechのアイコン画像を...
PSDToolKitプラグインの導入の仕方を説明。PSDファイルを探してGIMPで内容を確認。GIMPで瞬き用、口パク用のレイヤー編集。
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
区分求積法とリーマン積分について。離散と連続の分け目。フーリエの積分公式を導出した。演算したはずなのに変化しない。つまり変換、逆変換が成立することを示している。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。よって、一般的な表現に書き換える必要がある。
角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。ω=nπ/Lを使用して変換するだけ。これにより少し数式がシンプルになった。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。ほぼ独自に作成したが、Anneliの画像自体はAivisS...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
AviUtlのセットアップと拡張編集Pluginの導入を行った。mp4ファイルの入力と出力の方法を説明。アニメーションgifの対応方法を説明。
分数は割り算の別表現として理解しやすく、逆数を掛けることで計算が簡単になる。これにより、小数の掛け算や割り算の理解が深まる。一次関数の数式をグラフにすることや、グラフから数式を導くことは、データのトレンド分析や物理現象の理解に役立つ。微分は関数の変化率を求める手法であり、数値微分を使って近似的に求めることができる。これにより、物理学や経済学など多くの分野で応用可能。
Youtube動画やブログ記事のアイキャッチ用に作成した、VOCEIVX(四国めたん、ずんだもん、春日部つむぎ)、AivisSpeech(Anneli)の画像たち。Stable Diffusionで生成&少しペン入れ&GIMPによる補正したものになります。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。
最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 モーメンタムの動作イメージについて確認。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
勾配降下法の更新式を確認。 勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしていく。 最初は復習を兼ねて勾配降下法についても確認する。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの動作イメージについて確認。 動作イメージの表現は難しい。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 実際の指数移動平均とは異なっているので、その点は注意。
勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
今回改めてまじめに更新式を確認。 勾配降下法の更新式が一番シンプルなので今後の最適化アルゴリズムの更新式を見る際は比較対象になりやすい。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしてい 最初は復習を兼ねて勾配降下法についても確認する。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パタ やや複雑な分類パターンが4ユニットにすることで出てきたもの。