Python

fast.ai で deep learning を勉強しよう(7)Lesson 3: Planet Amazon dataset

Lesson3 では、Kaggle のデータセットを使ってマルチラベルについて学びます。 以下は Planet Amazon dataset の部分を抜き出した内容に簡単な解説を付けたものです。 Windows10 Python3.7.1 fastai 1.0.57 Pytorch1.2.0 (py3.7_cuda100_cudnn7_1) cudatoolk…

fast.ai で deep learning を勉強しよう(6)Colaboratory

メモリーを多く積んだGPUボードを持っていない時にはクラウドで勉強した方が現実的です。 Google の無料 Jupyter 環境である Colaboratory で fastai を実行する方法です。 Accessing Colab Configuring your notebook instance Saving your notebook Saving…

fast.ai で deep learning を勉強しよう(5)Performance Tips and Tricks

fast.ai を WindowsPC で勉強する時の環境整備の話です。 Windows10 Python3.7.1 fastai 1.0.57 Pytorch1.2.0 (py3.7_cuda100_cudnn7_1) cudatoolkit10.0.130 cudnn7.6.0 画像読込の高速化 libjpeg-turbo のインストール Pillow-SIMD のインストール バイナ…

fast.ai で deep learning を勉強しよう(4)準備の補足

Anacondaの使い方がだいぶ変わってきているので、Win10へのインストール方法を再度メモ。 CUDA のインストールに関しては 「fast.ai で deep learning を勉強しよう(1)準備」を参照。 fastaiの仮想環境のJupyterを直接起動するショートカット作成方法を追…

fast.ai で deep learning を勉強しよう(3)Lesson 2: Teddy bear detector

Lesson2では、まずGoogle画像検索を使用して、トレーニング用の画像を集めることから始めます。流れとしては次のようになります。 Google Chrome で画像を検索し、表示されてた画像のURLを書き出したファイルを作成。 そのファイルに書かれた画像をダウンロ…

fast.ai で deep learning を勉強しよう(2)Lesson 1: Image classification

Practical Deep Learning for Coders, v3 のサイトで Deep Learning を勉強しましょう。 いきなり実践ですから、Deep Learning について用語とイメージぐらいは掴んでおいてから取り組んだ方が良いと思います。用語の意味とか内容に関して分からなくても、説…

fast.ai で deep learning を勉強しよう(1)準備

Practical Deep Learning for Coders, v3 のサイトで Deep Learning を勉強しましょう。 fast.aiとは 環境構築: Win10 Anaconda インストール GPUを使用する場合 fastai用仮想環境の作成 (option)Anaconda に Proxy設定が必要な時 仮想環境作成(ベースか…

Polyphonyって何だろう(6)使用例:FIRフィルター

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。固定小数点の掛け算もできるようになったので、FIRフィルターを記述して、pythonなので、グラフ表示で機能確認をしてみたいと思います。 FIRフ…

Polyphonyって何だろう(5)使用例:固定小数点掛け算

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。今回は固定小数点の掛け算を書いてみたいと思います。前回と同じく @pure を使って python でアルゴリズムの検証を行います。 固定小数点掛け算…

Polyphonyって何だろう(4)使用例:CORDIC with @pure & unroll

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。 今回はコンパイル時に python の計算値を埋め込むための @pure デコレーターと、コンパイルの最適化指示の unroll を使用した CORDIC を高位合…

Polyphonyって何だろう(3)使用例:フィボナッチ LFSR

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。前回はクラス表記で port を指定しましたが、今回はもっと簡単に関数表記で port はお任せでフィボナッチ LFSRのアルゴリズムを Verilog に変換…

Veriloggenって何だろう(8)Thread 高位合成

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。今回は高位合成のThreadの使用例を書きます。 高位合成 Thread によるフィボナッチ数列生成 実行結果 参照

Polyphonyって何だろう(2)使用例:フィボナッチ数列

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。実際に動かした方が分かりやすいと思うので、早速フィボナッチ数列を出力する回路を合成したいと思います。計算が必要な回路合成には高位合成は…

Polyphonyって何だろう(1)インストール

Python で書いた関数を Verilog HDL に変換する高位合成コンパイラである Polyphony を使ってみたいと思います。Veriloggen が Verilog を python で生成し、高位合成がおまけ的なのに対して、Polyphony は、python で動く関数を verlilog に変換するソフト…

Veriloggenって何だろう(7)Parameter Delay Mux Sra

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 今回はこう書くとこうなるという小技をいくつか、忘れないようにその部分だけ書いておきます。 便利関数の定義 …

Veriloggenって何だろう(6)Case

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 今回は単純なCASE文の書き方です。 Case文の記述 Case文使用の例 生成されるVerilog HDL とシミュレーション結果

Veriloggenって何だろう(5)FSM

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 前回までは 順序回路を記述するための Always と Seq に関して書いてきましたが、今回は状態遷移マシンを記述す…

Veriloggenって何だろう(4)Seq

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 前回は Always 文で非同期リセットの記述を試してみました。今回は Always の代わりに順序回路を記述するSeqを…

Veriloggenって何だろう(3)Always

Verilog HDL を生成するための記述を python で行うことで FPGA 回路の生成を楽にする為のライブラリー Veriloggen を使ってみたいと思います。 前回は led.py を動かして、Always 文の変換を試してみました。今回はモジュールの組み立て方と Always につい…

Veriloggenって何だろう(2)LEDチカチカ

Verilog HDLを生成するための記述をpythonで行うことでFPGA回路の生成を楽にする為のライブラリーVeriloggenを使ってみたいと思います。 前回はWindows上に環境を作ったので、さっそくサンプルを動かしてみましょう。 veriloggen サンプルのダウンロード Spy…

Veriloggenって何だろう(1)インストール

Verilog HDLを生成するための記述をpythonで行うことでFPGA回路の生成を楽にする為のライブラリーVeriloggenを使ってみたいと思います。 まずはWindows上に動作環境を作成します。 Anaconda インストール Icarus Verilog for Windowsのインストール Windows…