FC2カウンター FPGAの部屋 NNgen
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

NNgenをやってみる3(NNgen オペレーターで表す DNNのデータフロー)

NNgenをやってみる2(hello_nngen)”の続き。

前回は、NNgen/nngenGetting started の hello_nngen.py を実行した。今回は、 hello_nngen.py の Python コードの内の DNN のデータフローの NNgen オペレーターでの表し方を見ていこう。
なお、これから書くことは、私の推測を含んでいるので、間違いがあったら指摘してください。お願いします。

NNgen/nngen(1) Represent a DNN model as a dataflow by NNgen operators からコードを引用する。

入力層

# input
input_layer = ng.placeholder(dtype=act_dtype,
                             shape=(1, 32, 32, 3),  # N, H, W, C
                             name='input_layer')


shape の N は何だろうか?(バッチかな?)
H = 32 は画像の縦ピクセル、 W = 32 は画像の横ピクセル、 C = 3 はチャネルつまり、RGB 3 色ということだろう?

畳み込み層1層目 layer 0: conv2d (with bias and scale (= batchnorm)), relu, max_pool

w0 = ng.variable(dtype=weight_dtype,
                 shape=(64, 3, 3, 3),  # Och, Ky, Kx, Ich
                 name='w0')
b0 = ng.variable(dtype=bias_dtype,
                 shape=(w0.shape[0],), name='b0')
s0 = ng.variable(dtype=scale_dtype,
                 shape=(w0.shape[0],), name='s0')

a0 = ng.conv2d(input_layer, w0,
               strides=(1, 1, 1, 1),
               bias=b0,
               scale=s0,
               act_func=ng.relu,
               sum_dtype=ng.int64)

a0p = ng.max_pool_serial(a0,
                         ksize=(1, 2, 2, 1),
                         strides=(1, 2, 2, 1))


w0 の shape で Och = 64 は出力チャネルが 64 チャネルのようだ。
ky = 3 はカーネルの縦が 3 で、kx = 3 はカーネルの横が 3 のようだ。つまり 3 x 3 のカーネルを 64 個、畳み込みする。

conv2d の strides の最初の 1 は always 1 で、次の 1 が縦、その次の 1 が横、最後の 1 が always 1 なのか?
そして活性化関数は relu を使用している。
sum_dtype は途中の演算結果のデータタイプを指定しているようだ。つまり、int64 で演算する?
畳み込み層でパッディングしていないようなので、出力は 30 x 30 ピクセルになっているはず?

max_pool_serial のカーネルも最初と最後の 1 は除いて、 2 x 2 でマックス・プーリングして、stride も同様に縦 2 ピクセルと横 2 ピクセルをストライドするようだ。
2 x 2 のマックス・プーリングなので縦横 1/2 の 15 x 15 ピクセルになっているはず?

畳み込み層2層目 layer 1: conv2d, relu, reshape

w1 = ng.variable(weight_dtype,
                 shape=(64, 3, 3, a0.shape[-1]),
                 name='w1')
b1 = ng.variable(bias_dtype,
                 shape=(w1.shape[0],),
                 name='b1')
s1 = ng.variable(scale_dtype,
                 shape=(w1.shape[0],),
                 name='s1')

a1 = ng.conv2d(a0p, w1,
               strides=(1, 1, 1, 1),
               bias=b1,
               scale=s1,
               act_func=ng.relu,
               sum_dtype=ng.int64)

a1r = ng.reshape(a1, [1, -1])


w1 の a0.shape[-1] は 64 チャネル?となると、やはり 3 x 3 カーネルで出力も 64 チャネルか?
今度の畳み込み層もストライド縦横 1 ピクセル。
畳み込み層の活性化関数は relu
次が全結合層なので、reshape(a1, [1, -1]) でチャネルも2次元画像も一次元に変換している?
となると、64 チャネル x 13 ピクセル x 13 ピクセルで 10816 要素かな?

全結合層1層目 layer 2: full-connection, relu

w2 = ng.variable(weight_dtype,
                 shape=(256, a1r.shape[-1]),
                 name='w2')
b2 = ng.variable(bias_dtype,
                 shape=(w2.shape[0],),
                 name='b2')
s2 = ng.variable(scale_dtype,
                 shape=(w2.shape[0],),
                 name='s2')

a2 = ng.matmul(a1r, w2,
               bias=b2,
               scale=s2,
               transposed_b=True,
               act_func=ng.relu,
               sum_dtype=ng.int64)


a1r.shape[-1] は 10816 要素のはず、それを 256 出力の全結合層に入力する。

全結合層2層目、出力層も一緒 layer 3: full-connection, relu output

w3 = ng.variable(weight_dtype,
                 shape=(10, a2.shape[-1]),
                 name='w3')
b3 = ng.variable(bias_dtype,
                 shape=(w3.shape[0],),
                 name='b3')
s3 = ng.variable(scale_dtype,
                 shape=(w3.shape[0],),
                 name='s3')

# output
output_layer = ng.matmul(a2, w3,
                         bias=b3,
                         scale=s3,
                         transposed_b=True,
                         name='output_layer',
                         sum_dtype=ng.int64)


全結合層は 256 入力 10 出力のようだ。やはり MNIST かな?
活性化関数はなし。全結合層の出力がそのまま出力されているようだ。softmax は無いようだ。
  1. 2020年05月10日 10:51 |
  2. NNgen
  3. | トラックバック:0
  4. | コメント:0

NNgenをやってみる2(hello_nngen)

NNgenをやってみる1(インストールとテストコード実行編)”の続き。

前回は、NNgen をインストールして、テストコードを実行したが、テストコードは完走できなかった。今回は、NNgen/nngenGetting started の hello_nngen.py を実行してみた。

hello_nngen.py は nngen ディレクトリのトップにある。そして、実行すると、hello_nngen_v1_0 の IP-XACT のディレクトリを生成する。(もう実行してしまったがもう一度実行してみる)
nngen_26_200509.png

python3 hello_nngen.py
を実行した。
nngen_27_200509.png

nngen_28_200509.png

ログを示す。

masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/shtaxxx/nngen$ python3 hello_nngen.py 
[[-1286  4567  4251  -272 10540 -2785  2885 -1169 12138 -4471]]
NNgen: Neural Network Accelerator Generator (version 1.3.0)
[IP-XACT]
  Output: hello_nngen
[Configuration]
(AXI Master Interface)
  Data width   : 32
  Address width: 32
(AXI Slave Interface)
  Data width   : 32
  Address width: 32
[Schedule Table]
(Stage 0)
(Stage 1)
  <conv2d None dtype:int16 shape:(1, 32, 32, 64) strides:(1, 1, 1, 1) padding:'SAME'-(1, 1, 1, 1) bias:(64,) scale:(64,) cshamt_out:17 act_func:relu sum_dtype:int64 par_ich:2 par_och:2 concur_och:4 stationary:filter keep_input default_addr:8481984 g_index:0 l_index:1 word_alignment:2 aligned_shape:(1, 32, 32, 64) scale_factor:1.000000>
  | <placeholder input_layer dtype:int16 shape:(1, 32, 32, 3) default_addr:64 g_index:2 word_alignment:2 aligned_shape:(1, 32, 32, 4) scale_factor:1.000000>
  | <variable w0 dtype:int16 shape:(64, 3, 3, 3) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(64, 3, 3, 4) scale_factor:1.000000>
  | <variable b0 dtype:int16 shape:(64,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(64,) scale_factor:1.000000>
  | <variable s0 dtype:int16 shape:(64,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(64,) scale_factor:1.000000>
(Stage 2)
  <max_pool_serial None dtype:int16 shape:(1, 16, 16, 64) ksize:(1, 2, 2, 1) strides:(1, 2, 2, 1) padding:'SAME'-(0, 0, 0, 0) par:2 no_reuse default_addr:8613056 g_index:0 l_index:2 word_alignment:2 aligned_shape:(1, 16, 16, 64) scale_factor:1.000000>
  | <conv2d None dtype:int16 shape:(1, 32, 32, 64) strides:(1, 1, 1, 1) padding:'SAME'-(1, 1, 1, 1) bias:(64,) scale:(64,) cshamt_out:17 act_func:relu sum_dtype:int64 par_ich:2 par_och:2 concur_och:4 stationary:filter keep_input default_addr:8481984 g_index:0 l_index:1 word_alignment:2 aligned_shape:(1, 32, 32, 64) scale_factor:1.000000>
(Stage 3)
  <conv2d None dtype:int16 shape:(1, 16, 16, 64) strides:(1, 1, 1, 1) padding:'SAME'-(1, 1, 1, 1) bias:(64,) scale:(64,) cshamt_out:17 act_func:relu sum_dtype:int64 par_ich:2 par_och:2 concur_och:4 stationary:filter default_addr:8645824 g_index:0 l_index:3 word_alignment:2 aligned_shape:(1, 16, 16, 64) scale_factor:1.000000>
  | <max_pool_serial None dtype:int16 shape:(1, 16, 16, 64) ksize:(1, 2, 2, 1) strides:(1, 2, 2, 1) padding:'SAME'-(0, 0, 0, 0) par:2 no_reuse default_addr:8613056 g_index:0 l_index:2 word_alignment:2 aligned_shape:(1, 16, 16, 64) scale_factor:1.000000>
  | <variable w1 dtype:int16 shape:(64, 3, 3, 64) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(64, 3, 3, 64) scale_factor:1.000000>
  | <variable b1 dtype:int16 shape:(64,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(64,) scale_factor:1.000000>
  | <variable s1 dtype:int16 shape:(64,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(64,) scale_factor:1.000000>
(Stage 4)
  <_lazy_reshape None dtype:int16 shape:(1, 16384) alias_of:<conv2d> default_addr:8645824 g_index:0 l_index:3 word_alignment:2 aligned_shape:(1, 16384) scale_factor:1.000000>
  | <conv2d None dtype:int16 shape:(1, 16, 16, 64) strides:(1, 1, 1, 1) padding:'SAME'-(1, 1, 1, 1) bias:(64,) scale:(64,) cshamt_out:17 act_func:relu sum_dtype:int64 par_ich:2 par_och:2 concur_och:4 stationary:filter default_addr:8645824 g_index:0 l_index:3 word_alignment:2 aligned_shape:(1, 16, 16, 64) scale_factor:1.000000>
(Stage 5)
  <matmul None dtype:int16 shape:(1, 256) bias:(256,) scale:(256,) cshamt_out:17 act_func:relu sum_dtype:int64 par_left_col:2 par_out_col:2 concur_out_col:2 stationary:right keep_left default_addr:8678592 g_index:0 l_index:4 word_alignment:2 aligned_shape:(1, 256) scale_factor:1.000000>
  | <_lazy_reshape None dtype:int16 shape:(1, 16384) alias_of:<conv2d> default_addr:8645824 g_index:0 l_index:3 word_alignment:2 aligned_shape:(1, 16384) scale_factor:1.000000>
  | <variable w2 dtype:int16 shape:(256, 16384) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(256, 16384) scale_factor:1.000000>
  | <variable b2 dtype:int16 shape:(256,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(256,) scale_factor:1.000000>
  | <variable s2 dtype:int16 shape:(256,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(256,) scale_factor:1.000000>
(Stage 6)
  <matmul output_layer dtype:int16 shape:(1, 10) bias:(10,) scale:(10,) cshamt_out:17 sum_dtype:int64 par_left_col:2 par_out_col:2 concur_out_col:128 stationary:right keep_left keep_right default_addr:0 g_index:1 word_alignment:2 aligned_shape:(1, 10) scale_factor:1.000000>
  | <matmul None dtype:int16 shape:(1, 256) bias:(256,) scale:(256,) cshamt_out:17 act_func:relu sum_dtype:int64 par_left_col:2 par_out_col:2 concur_out_col:2 stationary:right keep_left default_addr:8678592 g_index:0 l_index:4 word_alignment:2 aligned_shape:(1, 256) scale_factor:1.000000>
  | <variable w3 dtype:int16 shape:(10, 256) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(10, 256) scale_factor:1.000000>
  | <variable b3 dtype:int16 shape:(10,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(10,) scale_factor:1.000000>
  | <variable s3 dtype:int16 shape:(10,) default_addr:8256 g_index:3 word_alignment:2 aligned_shape:(10,) scale_factor:1.000000>
[RAM (spec: num)]
  32-bit 16384-entry 2-port 1-bank RAM: 2
  32-bit 8192-entry 2-port 1-bank RAM: 1
  32-bit 512-entry 2-port 1-bank RAM: 9
  32-bit 256-entry 2-port 1-bank RAM: 2
  32-bit 128-entry 2-port 1-bank RAM: 22
[Substream (spec: num)]
  ('acc_rshift_round_frac', (64, 0, True, 64, 0, True)): 2
  ('add_tree', (64, 0, True, 2)): 2
  ('add_tree', (64, 0, True, 18)): 2
  ('mul_rshift_clip', (64, 0, True, 16, 0, True, 80, 0, True, 16, 0, True)): 2
  ('mul_rshift_round_madd', (16, 0, True, 16, 0, True, 32, 0, True)): 36
  ('reduce_max', (16, 0, True)): 2
[Stream (spec: num)]
  (((<class 'nngen.operator.conv2d.conv2d'>, <dtype int16>, <dtype int16>, <dtype int16>, <dtype int16>), <dtype int16>, 1), 3, 3, None, <dtype int64>, 2, 2, 1, 1, 9, 36): 1
  (((<class 'nngen.operator.pool_serial.max_pool_serial'>, <dtype int16>), <dtype int16>, 2), 2, 2, True, 2): 1
  (((<class 'nngen.operator.basic._lazy_reshape'>, <dtype int16>), <dtype int16>, 1), True): 1
  (((<class 'nngen.operator.matmul.matmul'>, <dtype int16>, <dtype int16>, <dtype int16>, <dtype int16>), <dtype int16>, 1), 1, 1, None, <dtype int64>, 2, 2, 1, 1, 1, 4): 1
[Control (name (# states: num))]
  main_fsm (# states: 58)
  control_conv2d_4 (# states: 56)
  control_max_pool_serial_6 (# states: 26)
  control_matmul_16 (# states: 41)
[Register Map]
   0 (R ): header0 (default: 0)
   4 (R ): header1 (default: 0)
   8 (R ): header2 (default: 0)
  12 (R ): header3 (default: 0)
  16 ( W): Start (set '1' to run)
  20 (R ): Busy (returns '1' when running)
  24 ( W): Reset (set '1' to initialize internal logic)
  28 (R ): Opcode from extern objects to SW (returns '0' when idle)
  32 ( W): Resume extern objects (set '1' to resume)
  36 (RW): Global address offset (default: 0)
  40 (RW): Address of temporal storages (size: 193KB)
  44 (RW): Address of output (matmul) 'output_layer' (size: 64B, dtype: int16, shape: (1, 10), alignment: 2 words (4 bytes)), aligned shape: (1, 10)
  48 (RW): Address of placeholder 'input_layer' (size: 8KB, dtype: int16, shape: (1, 32, 32, 3), alignment: 2 words (4 bytes)), aligned shape: (1, 32, 32, 4)
  52 (RW): Address of variables 'w0', 'b0', 's0', 'w1', 'b1', 's1', 'w2', 'b2', 's2', 'w3', 'b3', 's3' (size: 8276KB)
[Default Memory Map (start - end)] (entire range: [0 - 8679103], size: 8476KB)
  [      0 -      63]: output (matmul) 'output_layer' (size: 64B, dtype: int16, shape: (1, 10), alignment: 2 words (4 bytes)), aligned shape: (1, 10)
  [     64 -    8255]: placeholder 'input_layer' (size: 8KB, dtype: int16, shape: (1, 32, 32, 3), alignment: 2 words (4 bytes)), aligned shape: (1, 32, 32, 4)
  [   8256 -   12863]: variable 'w0' (size: 5KB, dtype: int16, shape: (64, 3, 3, 3), alignment: 2 words (4 bytes)), aligned shape: (64, 3, 3, 4)
  [  12864 -   12991]: variable 'b0' (size: 128B, dtype: int16, shape: (64,), alignment: 2 words (4 bytes)), aligned shape: (64,)
  [  12992 -   13119]: variable 's0' (size: 128B, dtype: int16, shape: (64,), alignment: 2 words (4 bytes)), aligned shape: (64,)
  [  13120 -   86847]: variable 'w1' (size: 72KB, dtype: int16, shape: (64, 3, 3, 64), alignment: 2 words (4 bytes)), aligned shape: (64, 3, 3, 64)
  [  86848 -   86975]: variable 'b1' (size: 128B, dtype: int16, shape: (64,), alignment: 2 words (4 bytes)), aligned shape: (64,)
  [  86976 -   87103]: variable 's1' (size: 128B, dtype: int16, shape: (64,), alignment: 2 words (4 bytes)), aligned shape: (64,)
  [  87104 - 8475711]: variable 'w2' (size: 8192KB, dtype: int16, shape: (256, 16384), alignment: 2 words (4 bytes)), aligned shape: (256, 16384)
  [8475712 - 8476223]: variable 'b2' (size: 512B, dtype: int16, shape: (256,), alignment: 2 words (4 bytes)), aligned shape: (256,)
  [8476224 - 8476735]: variable 's2' (size: 512B, dtype: int16, shape: (256,), alignment: 2 words (4 bytes)), aligned shape: (256,)
  [8476736 - 8481855]: variable 'w3' (size: 5KB, dtype: int16, shape: (10, 256), alignment: 2 words (4 bytes)), aligned shape: (10, 256)
  [8481856 - 8481919]: variable 'b3' (size: 64B, dtype: int16, shape: (10,), alignment: 2 words (4 bytes)), aligned shape: (10,)
  [8481920 - 8481983]: variable 's3' (size: 64B, dtype: int16, shape: (10,), alignment: 2 words (4 bytes)), aligned shape: (10,)
  [8481984 - 8679103]: temporal storages (size: 193KB)
# IP-XACT was generated. Check the current directory.
# Skipping RTL simulation. If you simulate the RTL behavior, comment out the next line.


hello_nngen_v1_0 ディレクトリの内容を示す。
nngen_29_200509.png

hello_nngen_v1_0/hdl ディレクトリの hello_nngen.v を示す。
nngen_30_200509.png

python3 hello_nngen.py を実行した時にシミュレーションを行っていない。そこで、
hello_nngen.py を編集して 273 行目の sys.exit() をコメントアウトした。
nngen_31_200509.png

これでもう一度、 python3 hello_nngen.py を実行した。かなり時間がかかったが、終了した。しかし、 #start だけで、 #end が無い?アボートしたのか?
nngen_33_200509.png

nngen ディレクトリを見ると、hello_nngen.out 、 hello_nngen.v 、 memimg_hello_nngen.out が生成されている。memimg_hello_nngen.out は 100.7 MB と大きい。
nngen_32_200509.png

hello_nngen.v を示す。これは、DUT を含むテストベンチだった。
nngen_34_200509.png
  1. 2020年05月09日 07:18 |
  2. NNgen
  3. | トラックバック:0
  4. | コメント:0

NNgenをやってみる1(インストールとテストコード実行編)

ディープ・ニューラル・ネットワーク用の完全にカスタマイズ可能なハードウェア合成コンパイラの NNgen をやってみようと思う。

まずはインストールをしていこう。
NNgen を git clone した。
git clone https://github.com/NNgen/nngen.git
cd nngen

nngen_1_200507.png

iverilog をインストールした。
sudo apt install iverilog
すでにインストールされていた。
nngen_2_200507.png

pip3 install jinja2 pyverilog veriloggen numpy onnx
nngen_3_200507.png
nngen_4_200507.png

NNgen をインストールする。
python3 setup.py install
nngen_5_200507.png
nngen_6_200507.png

pip3 install pytest pytest-pythonpath torch torchvision
nngen_7_200507.png
nngen_8_200507.png

sudo apt install verilator
nngen_9_200507.png

ドキュメントの関連のインストール
sudo apt install texlive-science texlive-fonts-recommended texlive-fonts-extra dvipng
nngen_10_200507.png

pip3 install sphinx sphinx_rtd_theme
nngen_11_200507.png

veriloggen と Pyverilog の git clone(最新バージョンを使うのでなければ必要ないかも?)
cd ..
git clone https://github.com/PyHDI/veriloggen.git
git clone https://github.com/PyHDI/Pyverilog.git

nngen_12_200507.png

nngen ディレクトリに veriloggen と Pyverilog のシンボリックリンクを作成する。(最新バージョンを使うのでなければ必要ないかも?)
cd nngen
ln -s ../veriloggen/veriloggen
ln -s ../Pyverilog/pyverilog

nngen_13_200507.png

この時は、うまく veriloggen のシンボリックリンクができなかったので、後でもう一度シンボリックリンクを行った。
ln -s ../veriloggen/veriloggen
nngen_22_200508.png

テストコードを実行する。
cd tests
ls

nngen_14_200507.png
nngen_15_200507.png

python3 -m pytest .
を実行するとエラーになった。
nngen_16_200507.png

____________________________ ERROR at setup of test ____________________________

item = <Function test>

    def pytest_runtest_setup(item):
    
>       remote_data = item.get_marker('remote_data')
E       AttributeError: 'Function' object has no attribute 'get_marker'

/home/masaaki/anaconda3/lib/python3.6/site-packages/pytest_remotedata/plugin.py:59: AttributeError


nngen_17_200507.png

検索したところ”AttributeError: 'Function' object has no attribute 'get_marker' #4608”が見つかった。
これによると、 .get_marker はpytest 4には存在しなくなり、 .get_closest_marker が代わりに使用できるそうだ。私は、 pytest 3.10.1 に戻すことにした。
pip install pytest==3.10.1
nngen_18_200507.png
nngen_19_200507.png

もう一度、
python3 -m pytest .
を行った。 .get_marker のエラーは回避できたが、今度は onnx が無いと言われてしまった。
nngen_20_200507.png

onnx は先程インストールしたはずだが、もう一度、インストールしよう。
pip3 install onnx
nngen_21_200507.png

再度、
python3 -m pytest .
を行った。現在実行中。
nngen_23_200508.png

(追記)何時間も”onnx_matrix_conv2d/test_onnx_matrix_conv2d_sigmoid_int16_3x3_stride1.py”から進まない。
とりあえず CTRL+C でアボートした。
nngen_24_200508.png

次に
python3 -m pytest --sim=verilator .
をやってみた。
nngen_25_200508.png

やはり、”onnx_matrix_conv2d/test_onnx_matrix_conv2d_sigmoid_int16_3x3_stride1.py”から進まなかったので、アボートした。

python3 setup.py install のログを貼っておく。

masaaki@masaaki-H110M4-M01:/media/masaaki/Ubuntu_Disk/shtaxxx/nngen$ python3 setup.py install
running install
running bdist_egg
running egg_info
creating nngen.egg-info
writing nngen.egg-info/PKG-INFO
writing dependency_links to nngen.egg-info/dependency_links.txt
writing requirements to nngen.egg-info/requires.txt
writing top-level names to nngen.egg-info/top_level.txt
writing manifest file 'nngen.egg-info/SOURCES.txt'
reading manifest file 'nngen.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'LICENSE.txt'
writing manifest file 'nngen.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/nngen
copying nngen/eval.py -> build/lib/nngen
copying nngen/util.py -> build/lib/nngen
copying nngen/basic_types.py -> build/lib/nngen
copying nngen/__init__.py -> build/lib/nngen
copying nngen/scheduler.py -> build/lib/nngen
copying nngen/version.py -> build/lib/nngen
copying nngen/sim.py -> build/lib/nngen
copying nngen/substreams.py -> build/lib/nngen
copying nngen/storage.py -> build/lib/nngen
copying nngen/verilog.py -> build/lib/nngen
copying nngen/dtype_list.py -> build/lib/nngen
creating build/lib/nngen/verify
copying nngen/verify/leaky_relu.py -> build/lib/nngen/verify
copying nngen/verify/concat.py -> build/lib/nngen/verify
copying nngen/verify/ternary_weight_conv2d.py -> build/lib/nngen/verify
copying nngen/verify/pool_serial.py -> build/lib/nngen/verify
copying nngen/verify/conv2d.py -> build/lib/nngen/verify
copying nngen/verify/relu.py -> build/lib/nngen/verify
copying nngen/verify/pad.py -> build/lib/nngen/verify
copying nngen/verify/__init__.py -> build/lib/nngen/verify
copying nngen/verify/sigmoid.py -> build/lib/nngen/verify
copying nngen/verify/exp.py -> build/lib/nngen/verify
copying nngen/verify/extern.py -> build/lib/nngen/verify
copying nngen/verify/binary_weight_conv2d.py -> build/lib/nngen/verify
copying nngen/verify/pool.py -> build/lib/nngen/verify
copying nngen/verify/log_weight_conv2d.py -> build/lib/nngen/verify
copying nngen/verify/matmul.py -> build/lib/nngen/verify
copying nngen/verify/slice_.py -> build/lib/nngen/verify
copying nngen/verify/upsampling2d.py -> build/lib/nngen/verify
copying nngen/verify/basic.py -> build/lib/nngen/verify
copying nngen/verify/normalize.py -> build/lib/nngen/verify
creating build/lib/nngen/operator
copying nngen/operator/leaky_relu.py -> build/lib/nngen/operator
copying nngen/operator/concat.py -> build/lib/nngen/operator
copying nngen/operator/ternary_weight_conv2d.py -> build/lib/nngen/operator
copying nngen/operator/pool_serial.py -> build/lib/nngen/operator
copying nngen/operator/conv2d.py -> build/lib/nngen/operator
copying nngen/operator/relu.py -> build/lib/nngen/operator
copying nngen/operator/pad.py -> build/lib/nngen/operator
copying nngen/operator/__init__.py -> build/lib/nngen/operator
copying nngen/operator/sigmoid.py -> build/lib/nngen/operator
copying nngen/operator/exp.py -> build/lib/nngen/operator
copying nngen/operator/extern.py -> build/lib/nngen/operator
copying nngen/operator/binary_weight_conv2d.py -> build/lib/nngen/operator
copying nngen/operator/pool.py -> build/lib/nngen/operator
copying nngen/operator/log_weight_conv2d.py -> build/lib/nngen/operator
copying nngen/operator/matmul.py -> build/lib/nngen/operator
copying nngen/operator/slice_.py -> build/lib/nngen/operator
copying nngen/operator/upsampling2d.py -> build/lib/nngen/operator
copying nngen/operator/basic.py -> build/lib/nngen/operator
copying nngen/operator/normalize.py -> build/lib/nngen/operator
creating build/lib/nngen/onnx
copying nngen/onnx/concat.py -> build/lib/nngen/onnx
copying nngen/onnx/reshape.py -> build/lib/nngen/onnx
copying nngen/onnx/gather.py -> build/lib/nngen/onnx
copying nngen/onnx/util.py -> build/lib/nngen/onnx
copying nngen/onnx/floor.py -> build/lib/nngen/onnx
copying nngen/onnx/transpose.py -> build/lib/nngen/onnx
copying nngen/onnx/flatten.py -> build/lib/nngen/onnx
copying nngen/onnx/pad.py -> build/lib/nngen/onnx
copying nngen/onnx/__init__.py -> build/lib/nngen/onnx
copying nngen/onnx/cast.py -> build/lib/nngen/onnx
copying nngen/onnx/exp.py -> build/lib/nngen/onnx
copying nngen/onnx/batchnormalization.py -> build/lib/nngen/onnx
copying nngen/onnx/conv.py -> build/lib/nngen/onnx
copying nngen/onnx/pool.py -> build/lib/nngen/onnx
copying nngen/onnx/upsample.py -> build/lib/nngen/onnx
copying nngen/onnx/squeeze.py -> build/lib/nngen/onnx
copying nngen/onnx/act_func.py -> build/lib/nngen/onnx
copying nngen/onnx/slice_.py -> build/lib/nngen/onnx
copying nngen/onnx/reduce.py -> build/lib/nngen/onnx
copying nngen/onnx/basic.py -> build/lib/nngen/onnx
copying nngen/onnx/shape.py -> build/lib/nngen/onnx
copying nngen/onnx/ceil.py -> build/lib/nngen/onnx
copying nngen/onnx/gemm.py -> build/lib/nngen/onnx
copying nngen/onnx/identity.py -> build/lib/nngen/onnx
creating build/lib/nngen/quantizer
copying nngen/quantizer/conv2d.py -> build/lib/nngen/quantizer
copying nngen/quantizer/util.py -> build/lib/nngen/quantizer
copying nngen/quantizer/__init__.py -> build/lib/nngen/quantizer
copying nngen/quantizer/sigmoid.py -> build/lib/nngen/quantizer
copying nngen/quantizer/exp.py -> build/lib/nngen/quantizer
copying nngen/quantizer/matmul.py -> build/lib/nngen/quantizer
copying nngen/quantizer/reduce.py -> build/lib/nngen/quantizer
copying nngen/quantizer/normalize.py -> build/lib/nngen/quantizer
copying nngen/VERSION -> build/lib/nngen
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/nngen
creating build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/leaky_relu.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/concat.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/ternary_weight_conv2d.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/pool_serial.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/conv2d.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/relu.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/pad.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/__init__.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/sigmoid.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/exp.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/extern.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/binary_weight_conv2d.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/pool.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/log_weight_conv2d.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/matmul.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/slice_.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/upsampling2d.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/basic.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/verify/normalize.py -> build/bdist.linux-x86_64/egg/nngen/verify
copying build/lib/nngen/eval.py -> build/bdist.linux-x86_64/egg/nngen
creating build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/leaky_relu.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/concat.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/ternary_weight_conv2d.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/pool_serial.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/conv2d.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/relu.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/pad.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/__init__.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/sigmoid.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/exp.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/extern.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/binary_weight_conv2d.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/pool.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/log_weight_conv2d.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/matmul.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/slice_.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/upsampling2d.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/basic.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/operator/normalize.py -> build/bdist.linux-x86_64/egg/nngen/operator
copying build/lib/nngen/util.py -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/VERSION -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/basic_types.py -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/__init__.py -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/scheduler.py -> build/bdist.linux-x86_64/egg/nngen
creating build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/concat.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/reshape.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/gather.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/util.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/floor.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/transpose.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/flatten.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/pad.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/__init__.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/cast.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/exp.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/batchnormalization.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/conv.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/pool.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/upsample.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/squeeze.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/act_func.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/slice_.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/reduce.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/basic.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/shape.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/ceil.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/gemm.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/onnx/identity.py -> build/bdist.linux-x86_64/egg/nngen/onnx
copying build/lib/nngen/version.py -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/sim.py -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/substreams.py -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/storage.py -> build/bdist.linux-x86_64/egg/nngen
creating build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/conv2d.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/util.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/__init__.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/sigmoid.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/exp.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/matmul.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/reduce.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/quantizer/normalize.py -> build/bdist.linux-x86_64/egg/nngen/quantizer
copying build/lib/nngen/verilog.py -> build/bdist.linux-x86_64/egg/nngen
copying build/lib/nngen/dtype_list.py -> build/bdist.linux-x86_64/egg/nngen
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/leaky_relu.py to leaky_relu.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/concat.py to concat.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/ternary_weight_conv2d.py to ternary_weight_conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/pool_serial.py to pool_serial.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/conv2d.py to conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/relu.py to relu.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/pad.py to pad.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/sigmoid.py to sigmoid.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/exp.py to exp.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/extern.py to extern.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/binary_weight_conv2d.py to binary_weight_conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/pool.py to pool.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/log_weight_conv2d.py to log_weight_conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/matmul.py to matmul.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/slice_.py to slice_.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/upsampling2d.py to upsampling2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/basic.py to basic.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verify/normalize.py to normalize.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/eval.py to eval.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/leaky_relu.py to leaky_relu.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/concat.py to concat.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/ternary_weight_conv2d.py to ternary_weight_conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/pool_serial.py to pool_serial.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/conv2d.py to conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/relu.py to relu.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/pad.py to pad.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/sigmoid.py to sigmoid.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/exp.py to exp.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/extern.py to extern.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/binary_weight_conv2d.py to binary_weight_conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/pool.py to pool.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/log_weight_conv2d.py to log_weight_conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/matmul.py to matmul.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/slice_.py to slice_.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/upsampling2d.py to upsampling2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/basic.py to basic.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/operator/normalize.py to normalize.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/util.py to util.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/basic_types.py to basic_types.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/scheduler.py to scheduler.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/concat.py to concat.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/reshape.py to reshape.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/gather.py to gather.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/util.py to util.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/floor.py to floor.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/transpose.py to transpose.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/flatten.py to flatten.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/pad.py to pad.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/cast.py to cast.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/exp.py to exp.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/batchnormalization.py to batchnormalization.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/conv.py to conv.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/pool.py to pool.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/upsample.py to upsample.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/squeeze.py to squeeze.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/act_func.py to act_func.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/slice_.py to slice_.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/reduce.py to reduce.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/basic.py to basic.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/shape.py to shape.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/ceil.py to ceil.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/gemm.py to gemm.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/onnx/identity.py to identity.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/version.py to version.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/sim.py to sim.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/substreams.py to substreams.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/storage.py to storage.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/conv2d.py to conv2d.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/util.py to util.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/__init__.py to __init__.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/sigmoid.py to sigmoid.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/exp.py to exp.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/matmul.py to matmul.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/reduce.py to reduce.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/quantizer/normalize.py to normalize.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/verilog.py to verilog.cpython-36.pyc
byte-compiling build/bdist.linux-x86_64/egg/nngen/dtype_list.py to dtype_list.cpython-36.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying nngen.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nngen.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nngen.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nngen.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nngen.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
nngen.__pycache__.version.cpython-36: module references __file__
creating dist
creating 'dist/nngen-1.3.0-py3.6.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing nngen-1.3.0-py3.6.egg
creating /home/masaaki/anaconda3/lib/python3.6/site-packages/nngen-1.3.0-py3.6.egg
Extracting nngen-1.3.0-py3.6.egg to /home/masaaki/anaconda3/lib/python3.6/site-packages
Adding nngen 1.3.0 to easy-install.pth file

Installed /home/masaaki/anaconda3/lib/python3.6/site-packages/nngen-1.3.0-py3.6.egg
Processing dependencies for nngen==1.3.0
Searching for onnx==1.6.0
Best match: onnx 1.6.0
Adding onnx 1.6.0 to easy-install.pth file
Installing backend-test-tools script to /home/masaaki/anaconda3/bin
Installing check-model script to /home/masaaki/anaconda3/bin
Installing check-node script to /home/masaaki/anaconda3/bin

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for numpy==1.18.4
Best match: numpy 1.18.4
Adding numpy 1.18.4 to easy-install.pth file
Installing f2py script to /home/masaaki/anaconda3/bin
Installing f2py3 script to /home/masaaki/anaconda3/bin
Installing f2py3.6 script to /home/masaaki/anaconda3/bin

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for veriloggen==1.8.2
Best match: veriloggen 1.8.2
Adding veriloggen 1.8.2 to easy-install.pth file

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for pyverilog==1.2.1
Best match: pyverilog 1.2.1
Adding pyverilog 1.2.1 to easy-install.pth file

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for Jinja2==2.11.2
Best match: Jinja2 2.11.2
Adding Jinja2 2.11.2 to easy-install.pth file

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for six==1.14.0
Best match: six 1.14.0
Adding six 1.14.0 to easy-install.pth file

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for typing-extensions==3.7.4.2
Best match: typing-extensions 3.7.4.2
Adding typing-extensions 3.7.4.2 to easy-install.pth file

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for protobuf==3.11.3
Best match: protobuf 3.11.3
Adding protobuf 3.11.3 to easy-install.pth file

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for MarkupSafe==1.1.1
Best match: MarkupSafe 1.1.1
Adding MarkupSafe 1.1.1 to easy-install.pth file

Using /home/masaaki/.local/lib/python3.6/site-packages
Searching for setuptools==46.1.3
Best match: setuptools 46.1.3
Adding setuptools 46.1.3 to easy-install.pth file
Installing easy_install script to /home/masaaki/anaconda3/bin
Installing easy_install-3.8 script to /home/masaaki/anaconda3/bin

Using /home/masaaki/.local/lib/python3.6/site-packages
Finished processing dependencies for nngen==1.3.0

  1. 2020年05月08日 04:37 |
  2. NNgen
  3. | トラックバック:0
  4. | コメント:0