・2020/06/25
【2020年版】NVIDIA Jetson Nanoで StyleGANの改良版の StyleGAN2で自然な画像を生成
(NVIDIA Jetson Nano JetPack StyleGAN2、敵対的生成ネットワーク AIで自然な顔画像を生成する)
Tags: [Raspberry Pi], [電子工作], [ディープラーニング]
● Jetson Nano、Jetson Xavier NXの便利スクリプト
・2020/07/03
【2020年版】NVIDIA Jetson Nano、Jetson Xavier NXの便利スクリプト
Jetsonの面倒な初期設定やミドルウェアのインストールを bashスクリプトの実行だけで簡単にできます
● Jetson Xavier NXを国内定価よりも安く買う!!ザビエル元年!!
・2020/06/27
【2020年】Jetson Xavier NX 開発者キットが安かったので衝動買いした件、標準販売価格5万円が4万4千円!
【ザビエル元年】Jetson Xavier NX 開発者キットを最安値で購入で、しかも国内在庫で注文から翌日で到着、ザビエル開封レビュー
● Jetson Nanoの初期設定、最高速で動かす設定、空きメモリを増やす方法等
6GBのスワップ設定が必要。
・2020/06/13
【2020年版】NVIDIA Jetson Nanoの初期設定、最高速で動かす設定、空きメモリを増やす方法等
2020年の JetPack 4.4になっても nvccのパスがデフォルトで通って無いとか、初期設定が必要です
● 2020年版 NVIDIA Jetson Nano JetPack StyleGANS TensorFlow
Jetson Nano JetPack 4.3
Jetson Nano JetPack 4.4
Jetson Xavier NX JetPack 4.4
GAN = Generative Adversarial Networks 敵対的生成ネットワーク
Official TensorFlow for Jetson Nano
Install TensorFlow for Jetson Platform
Official TensorFlow for Jetson Nano
StyleGAN2(StyleGANの改良版)
StyleGAN2 - Official TensorFlow Implementation
StyleGAN
StyleGAN - Official TensorFlow Implementation
cd
git clone https://github.com/NVlabs/stylegan2 --depth 1
cd stylegan2
# undefined symbol _ZN10tensorflow12OpDefBuilder5InputESs
sed -i -e "s/-D_GLIBCXX_USE_CXX11_ABI=0/-D_GLIBCXX_USE_CXX11_ABI=1/g" dnnlib/tflib/custom_ops.py
cat dnnlib/tflib/custom_ops.py | grep ABI
# compile_opts += ' --compiler-options \'-fPIC -D_GLIBCXX_USE_CXX11_ABI=1\''
# Generate uncurated ffhq images (matches paper Figure 12)
python3 run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl \
--seeds=6600-6625 --truncation-psi=0.5
# dnnlib: Finished run_generator.generate_images() in 5m 46s.
# Jetson Nano 5m 46s
# Xavier NX 3m 06s
・Generate uncurated ffhq images (matches paper Figure 12)
# Generate curated ffhq images (matches paper Figure 11)
python3 run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl \
--seeds=66,230,389,1518 --truncation-psi=1.0
# dnnlib: Finished run_generator.generate_images() in 6m 08s.
# Jetson Nano 6m 08s
# Xavier NX 1m 52s
・Generate curated ffhq images (matches paper Figure 11)
# Generate uncurated car images
python3 run_generator.py generate-images --network=gdrive:networks/stylegan2-car-config-f.pkl \
--seeds=6000-6025 --truncation-psi=0.5
# dnnlib: Finished run_generator.generate_images() in 4m 15s.
# Jetson Nano 4m 15s
# Xavier NX 2m 9s
・Generate uncurated car images
# Example of style mixing (matches the corresponding video clip)
python3 run_generator.py style-mixing-example --network=gdrive:networks/stylegan2-ffhq-config-f.pkl \
--row-seeds=85,100,75,458,1500 --col-seeds=55,821,1789,293 --truncation-psi=1.0
# メモリ不足で死亡 OOM = Out Of Memory
# (0) Resource exhausted: OOM when allocating tensor with shape[1,128,1025,1025] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
# [[{{node G_synthesis_1/_Run/G_synthesis/1024x1024/Conv0_up/conv2d_transpose}}]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
# [[G_synthesis_1/_Run/saturate_cast/_1457]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
# (1) Resource exhausted: OOM when allocating tensor with shape[1,128,1025,1025] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc{3}# [[{{node G_synthesis_1/_Run/G_synthesis/1024x1024/Conv0_up/conv2d_transpose}}]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
# 0 successful operations.
# 0 derived errors ignored.
# During handling of the above exception, another exception occurred:
# Xavier NXは実行できた
# Xavier NX 3m 11s
# 指定する個数を減らせば動く
# Example of style mixing (matches the corresponding video clip)
python3 run_generator.py style-mixing-example --network=gdrive:networks/stylegan2-ffhq-config-f.pkl \
--row-seeds=85,100 --col-seeds=821 --truncation-psi=1.0
# Generating style-mixed images...
# Saving images...
# Saving image grid...
# dnnlib: Finished run_generator.style_mixing_example() in 5m 47s.
# Jetson Nano 5m 47s
# Xavier NX 2m 18s
・Example of style mixing (matches the corresponding video clip)
jetson@jetson-desktop:~/stylegan2 $ python3 run_generator.py --help
2020-06-26 13:59:11.058536: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
usage: run_generator.py [-h] {generate-images,style-mixing-example} ...
StyleGAN2 generator.
Run 'python run_generator.py <subcommand> --help' for subcommand help.
positional arguments:
{generate-images,style-mixing-example}
Sub-commands
generate-images Generate images
style-mixing-example
Generate style mixing video
optional arguments:
-h, --help show this help message and exit
examples:
# Generate ffhq uncurated images (matches paper Figure 12)
python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=6600-6625 --truncation-psi=0.5
# Generate ffhq curated images (matches paper Figure 11)
python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=66,230,389,1518 --truncation-psi=1.0
# Generate uncurated car images (matches paper Figure 12)
python run_generator.py generate-images --network=gdrive:networks/stylegan2-car-config-f.pkl --seeds=6000-6025 --truncation-psi=0.5
# Generate style mixing example (matches style mixing video clip)
python run_generator.py style-mixing-example --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --row-seeds=85,100,75,458,1500 --col-seeds=55,821,1789,293 --truncation-psi=1.0
jetson@jetson-desktop:~/stylegan2 $ python3 run_generator.py style-mixing-example --help
2020-06-26 13:59:39.619071: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
usage: run_generator.py style-mixing-example [-h] --network NETWORK_PKL
--row-seeds ROW_SEEDS --col-seeds
COL_SEEDS
[--col-styles COL_STYLES]
[--truncation-psi TRUNCATION_PSI]
[--result-dir DIR]
optional arguments:
-h, --help show this help message and exit
--network NETWORK_PKL
Network pickle filename
--row-seeds ROW_SEEDS
Random seeds to use for image rows
--col-seeds COL_SEEDS
Random seeds to use for image columns
--col-styles COL_STYLES
Style layer range (default: 0-6)
--truncation-psi TRUNCATION_PSI
Truncation psi (default: 0.5)
--result-dir DIR Root directory for run results (default: results)
● undefined symbol _ZN10tensorflow12OpDefBuilder5InputESs
2020-06-26 13:06:36.312246: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:950] ARM64 does not support NUMA - returning NUMA node zero
2020-06-26 13:06:36.312363: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1325] Created TensorFlow device (/device:GPU:0 with 1128 MB memory) -> physical GPU (device: 0, name: NVIDIA Tegra X1, pci bus id: 0000:00:00.0, compute capability: 5.3)
Loading... Failed!
Traceback (most recent call last):
File "run_generator.py", line 168, in <module>
main()
File "run_generator.py", line 163, in main
dnnlib.submit_run(sc, func_name_map[subcmd], **kwargs)
File "/home/jetson/stylegan2/dnnlib/submission/submit.py", line 343, in submit_run
return farm.submit(submit_config, host_run_dir)
File "/home/jetson/stylegan2/dnnlib/submission/internal/local.py", line 22, in submit
return run_wrapper(submit_config)
File "/home/jetson/stylegan2/dnnlib/submission/submit.py", line 280, in run_wrapper
run_func_obj(**submit_config.run_func_kwargs)
File "/home/jetson/stylegan2/run_generator.py", line 21, in generate_images
_G, _D, Gs = pretrained_networks.load_networks(network_pkl)
File "/home/jetson/stylegan2/pretrained_networks.py", line 76, in load_networks
G, D, Gs = pickle.load(stream, encoding='latin1')
File "/home/jetson/stylegan2/dnnlib/tflib/network.py", line 297, in __setstate__
self._init_graph()
File "/home/jetson/stylegan2/dnnlib/tflib/network.py", line 154, in _init_graph
out_expr = self._build_func(*self.input_templates, **build_kwargs)
File "<string>", line 491, in G_synthesis_stylegan2
File "<string>", line 455, in layer
File "<string>", line 99, in modulated_conv2d_layer
File "<string>", line 68, in apply_bias_act
File "/home/jetson/stylegan2/dnnlib/tflib/ops/fused_bias_act.py", line 68, in fused_bias_act
return impl_dict[impl](x=x, b=b, axis=axis, act=act, alpha=alpha, gain=gain)
File "/home/jetson/stylegan2/dnnlib/tflib/ops/fused_bias_act.py", line 122, in _fused_bias_act_cuda
cuda_kernel = _get_plugin().fused_bias_act
File "/home/jetson/stylegan2/dnnlib/tflib/ops/fused_bias_act.py", line 16, in _get_plugin
return custom_ops.get_plugin(os.path.splitext(__file__)[0] + '.cu')
File "/home/jetson/stylegan2/dnnlib/tflib/custom_ops.py", line 156, in get_plugin
plugin = tf.load_op_library(bin_file)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/framework/load_library.py", line 61, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: /home/jetson/stylegan2/dnnlib/tflib/_cudacache/fused_bias_act_526f7217aed2933663fcf967d868580a.so: undefined symbol: _ZN10tensorflow12OpDefBuilder5InputESs
nano dnnlib/tflib/custom_ops.py
compile_opts += ' --compiler-options \'-fPIC -D_GLIBCXX_USE_CXX11_ABI=0\''
を
compile_opts += ' --compiler-options \'-fPIC -D_GLIBCXX_USE_CXX11_ABI=1\''
に変更する。
# -D_GLIBCXX_USE_CXX11_ABI=1
● Jetson Nanoで StyleGANを動かして可愛い美少女のアニメ顔を大量生産する方法
・2020/06/25
【2020年版】Jetson Nanoで StyleGANを動かして可愛い美少女のアニメ顔を大量生産する方法
【俺の嫁】Jetson Nanoで StyleGANと StyleGAN2のそれぞれで、敵対的生成ネットワーク AIでアニメ顔を生成
Tags: [Raspberry Pi], [電子工作], [ディープラーニング]
●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)
【2020年版】NVIDIA Jetson Nano、Jetson Xavier NXの便利スクリプト
Jetsonの面倒な初期設定やミドルウェアのインストールを bashスクリプトの実行だけで簡単にできます
【2020年】Jetson Xavier NX 開発者キットが安かったので衝動買いした件、標準販売価格5万円が4万4千円!
【ザビエル元年】Jetson Xavier NX 開発者キットを最安値で購入で、しかも国内在庫で注文から翌日で到着、ザビエル開封レビュー
【2020年版】NVIDIA Jetson用に最新の CMake 3.17.3をビルドしてインストールする方法
2020年の JetPack 4.4になっても CMakeのバージョンが 3.10.2と古く OpenPoseのビルドでエラー発生の原因
【2020年版】NVIDIA JetPack 4.4 DP Developer Previewで OpenPoseのビルドエラーの対策方法
Jetson Nano、Jetson Xavier NX 開発者キット + JetPack 4.4 DPで OpenPoseをビルドする手順
Jetson Nano、Jetson Xavier NX 開発者キット TensorFlow on Jetson Platform
NVIDIA Jetson Nano、Jetson Xavier NX Developer TensorFlow on Jetson Platform
NVIDIA Jetson Nano 開発者キットを買ってみた。メモリ容量 4GB LPDDR4 RAM
Jetson Nanoで TensorFlow PyTorch Caffe/Caffe2 Keras MXNet等を GPUパワーで超高速で動かす!
【2020年版】NVIDIA Jetson Nanoの初期設定、最高速で動かす設定、空きメモリを増やす方法等
2020年の JetPack 4.4になっても nvccのパスがデフォルトで通って無いとか、初期設定が必要です
【2020年版】NVIDIA Jetson Nano JetPackのバージョン情報まとめ、JetPack 4.4は仕様変更の影響が大きい
最新の JetPackでは 2019年当時の殆どの記事の内容がそのままではエラーが出て動かない様になりました
【2020年版】NVIDIA Jetson Nano対応の FFmpegをビルドする手順
NVIDIA Jetson Nano対応の FFmpegをビルドする手順、x264と x265にも対応
【2020年版】NVIDIA Jetson Nano対応の OpenPoseをビルドする手順
NVIDIA Jetson Nano対応の OpenPoseをビルドする手順
NVIDIA Jetson Nanoで OpenCV 3をビルドしてインストールする方法、NVCaffe等の OpenCV 4未対応を動かす
NVIDIA Jetson Nanoに「古い」 OpenCV 3.4.10をビルドしてインストールする方法
NVIDIA Jetson Nanoで Visual Studio Code Open Sourceをビルドして実行する
NVIDIA Jetson Nanoで VSCode Open Source Code - OSSをビルドして実行する、1.35.0
【2020年版】NVIDIA Jetson Nanoで TensorFlowの StyleGANを動かして、顔画像を生成
NVIDIA Jetson Nano JetPack StyleGAN、敵対的生成ネットワーク AIで自然な顔画像を生成する
【2020年版】Jetson Nanoで StyleGANを動かして可愛い美少女のアニメ顔を大量生産する方法
【俺の嫁】Jetson Nanoで StyleGANと StyleGAN2のそれぞれで、敵対的生成ネットワーク AIでアニメ顔を生成
【メモリ8GB】Raspberry Pi 4 Model B 8GBを KSYで最安値で購入。ベンチマークレビュー
【技適取得】ラズパイ4B 8GBモデルを入手。従来の Pi3、Pi3B+と速度比較
【Vulkan】Raspberry Pi 4 Model Bで Vulkanドライバをビルドして 3Dグラフィックのデモを動かす
【v3dv】ラズパイ4Bで Vulkan APIを動かす、VK_ICD_FILENAMES broadcom_icd.armv7l.json
PIP機能付きの 4K対応の 4入力 1出力の HDMIセレクターを買ってみた、HDMI機器が複数有る場合に便利
ピクチャ イン ピクチャ機能付き 4K入力対応の 4入力 1出力 HDMI切り換え機 HDSFX0401P
EDID保持機能付きの 4K対応の 4入力 2出力の マトリックス切り替え HDMIセレクター、液晶画面 2台と使用で最強
TESmart HMA0402A30 マトリックス切り替えで液晶画面 2台に接続できて更に EDID保持の便利機能付き HDMI切り換え機
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2020 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/raspberry_pi/nvidia_jetson_nano_tensorflow_stylegan2/