質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
DataSet

DataSetは、ADO.NETアーキテクチャのコンポーネントです。データベースから取得したレコードをメモリ領域に格納するクラスを指します。データの保持やテーブル間のリレーション・制約といった保持も可能です。

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

320閲覧

AnimeGANv2でCUBLAS_STATUS_EXECUTION_FAILED"のエラー

koutya

総合スコア1

DataSet

DataSetは、ADO.NETアーキテクチャのコンポーネントです。データベースから取得したレコードをメモリ領域に格納するクラスを指します。データの保持やテーブル間のリレーション・制約といった保持も可能です。

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/12/17 23:33

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  •  AnimeGANv2で自作データセットによる学習
  •  その過程で止まってしまうのを改善したい

前提

conda仮想環境で、 
実行コード
python train.py --dataset Hokuto --epoch 101 --init_epoch 10 --batch_size 4

発生している問題・エラーメッセージ

以下、エラーメッセージ

... Epoch: 0 Step: 135 / 136 time: 0.343821 s init_v_loss: 8.18934822 mean_v_loss: 3.40056753 2023-12-18 06:27:24.401562: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_100.dll 2023-12-18 06:28:13.749341: E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLAS routine: CUBLAS_STATUS_EXECUTION_FAILED Traceback (most recent call last): File "C:\Users\lily\AppData\Roaming\Python\Python36\site-packages\tensorflow_core\python\client\session.py", line 1365, in _do_call return fn(*args) File "C:\Users\lily\AppData\Roaming\Python\Python36\site-packages\tensorflow_core\python\client\session.py", line 1350, in _run_fn target_list, run_metadata) File "C:\Users\lily\AppData\Roaming\Python\Python36\site-packages\tensorflow_core\python\client\session.py", line 1443, in _call_tf_sessionrun run_metadata) tensorflow.python.framework.errors_impl.InternalError: 2 root error(s) found. (0) Internal: Blas GEMM launch failed : a.shape=(262144, 3), b.shape=(3, 3), m=262144, n=3, k=3 [[{{node Tensordot/MatMul}}]] [[generator/G_MODEL/out_layer/Tanh/_911]] (1) Internal: Blas GEMM launch failed : a.shape=(262144, 3), b.shape=(3, 3), m=262144, n=3, k=3 [[{{node Tensordot/MatMul}}]] 0 successful operations. 0 derived errors ignored. 以下続く

該当のソースコード

python

1from AnimeGANv2 import AnimeGANv2 2import tensorflow as tf 3import argparse 4from tools.utils import * 5import os 6#os.environ["CUDA_VISIBLE_DEVICES"] = "0" 7os.environ["TF_CUDNN_USE_AUTOTUNE"] = "0" 8 9 10"""parsing and configuration""" 11 12def parse_args(): 13 desc = "AnimeGANv2" 14 parser = argparse.ArgumentParser(description=desc) 15 parser.add_argument('--dataset', type=str, default='Hokuto', help='dataset_name') 16 17 parser.add_argument('--epoch', type=int, default=101, help='The number of epochs to run') 18 parser.add_argument('--init_epoch', type=int, default=10, help='The number of epochs for weight initialization') 19 parser.add_argument('--batch_size', type=int, default=4, help='The size of batch size') # if light : batch_size = 20 20 parser.add_argument('--save_freq', type=int, default=1, help='The number of ckpt_save_freq') 21 22 parser.add_argument('--init_lr', type=float, default=2e-4, help='The learning rate') 23 parser.add_argument('--g_lr', type=float, default=2e-5, help='The learning rate') 24 parser.add_argument('--d_lr', type=float, default=4e-5, help='The learning rate') 25 parser.add_argument('--ld', type=float, default=10.0, help='The gradient penalty lambda') 26 27 parser.add_argument('--g_adv_weight', type=float, default=300.0, help='Weight about GAN') 28 parser.add_argument('--d_adv_weight', type=float, default=300.0, help='Weight about GAN') 29 parser.add_argument('--con_weight', type=float, default=1.5, help='Weight about VGG19')# 1.5 for Hayao, 2.0 for Paprika, 1.2 for Shinkai 30 # ------ the follow weight used in AnimeGAN 31 parser.add_argument('--sty_weight', type=float, default=2.5, help='Weight about style')# 2.5 for Hayao, 0.6 for Paprika, 2.0 for Shinkai 32 parser.add_argument('--color_weight', type=float, default=10., help='Weight about color') # 15. for Hayao, 50. for Paprika, 10. for Shinkai 33 parser.add_argument('--tv_weight', type=float, default=1., help='Weight about tv')# 1. for Hayao, 0.1 for Paprika, 1. for Shinkai 34 # --------------------------------------------- 35 parser.add_argument('--training_rate', type=int, default=1, help='training rate about G & D') 36 parser.add_argument('--gan_type', type=str, default='lsgan', help='[gan / lsgan / wgan-gp / wgan-lp / dragan / hinge') 37 38 parser.add_argument('--img_size', type=list, default=[256,256], help='The size of image: H and W') 39 parser.add_argument('--img_ch', type=int, default=3, help='The size of image channel') 40 41 parser.add_argument('--ch', type=int, default=64, help='base channel number per layer') 42 parser.add_argument('--n_dis', type=int, default=3, help='The number of discriminator layer') 43 parser.add_argument('--sn', type=str2bool, default=True, help='using spectral norm') 44 45 46 parser.add_argument('--checkpoint_dir', type=str, default='checkpoint', 47 help='Directory name to save the checkpoints') 48 parser.add_argument('--log_dir', type=str, default='logs', 49 help='Directory name to save training logs') 50 parser.add_argument('--sample_dir', type=str, default='samples', 51 help='Directory name to save the samples on training') 52 53 return check_args(parser.parse_args()) 54 55 56def create_session(): 57 config = tf.compat.v1.ConfigProto() 58 config.gpu_options.per_process_gpu_memory_fraction = 0.8 59 config.gpu_options.allow_growth = False 60 # config.gpu_options.polling_inactive_delay_msecs = 10 61 session = tf.compat.v1.Session(config=config) 62 return session 63 64 65"""checking arguments""" 66def check_args(args): 67 # --checkpoint_dir 68 check_folder(args.checkpoint_dir) 69 70 # --log_dir 71 check_folder(args.log_dir) 72 73 # --sample_dir 74 check_folder(args.sample_dir) 75 76 # --epoch 77 try: 78 assert args.epoch >= 1 79 except: 80 print('number of epochs must be larger than or equal to one') 81 82 # --batch_size 83 try: 84 assert args.batch_size >= 1 85 except: 86 print('batch size must be larger than or equal to one') 87 return args 88 89 90"""main""" 91def main(): 92 # parse arguments 93 args = parse_args() 94 if args is None: 95 exit() 96 97 # open session 98 config = tf.ConfigProto() 99 config.gpu_options.allow_growth = True 100 101 with tf.Session(config=config) as sess: 102 gan = AnimeGANv2(sess, args) 103 104 # build graph 105 gan.build_model() 106 107 # show network architecture 108 show_all_variables() 109 110 gan.train() 111 print(" [*] Training finished!") 112 113if __name__ == '__main__': 114 main() 115

試したこと

ここでpython train.pyで学習中、突然止まってしまいました。
--epoch 101 --init_epoch 10ここの10から101の変わり目

Tracebackの上のメッセージ
E tensorflow/stream_executor/cuda/cuda_blas.cc:428] failed to run cuBLAS routine: CUBLAS_STATUS_EXECUTION_FAILED
において、cuBLASライブラリが正常に実行されなかったことを示しています。
これは通常、GPUのメモリ不足、誤ったcuBLASのバージョン、またはGPUドライバの問題によるものです。

とあったのでGPUのメモリ不足改善案
config.gpu_options.per_process_gpu_memory_fraction = 0.8
いれてみた
ダメでした

GPUのメモリ不足改善(少し状況が違う)
https://book-read-yoshi.hatenablog.com/entry/2020/08/12/error-blas_gemm_launch_failed

AnimeGANv2
https://github.com/TachibanaYoshino/AnimeGANv2

補足情報(FW/ツールのバージョンなど)

環境

conda3

python3.6
tensorflow-gpu==1.15.0 (GPU RTX3060, cuda 10.0.130, cudnn 7.6.0)
opencv
tqdm
numpy
glob
argparse
onnxruntime (If onnx file needs to be run.)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2023/12/18 05:13

単純にVRAMが足りないのではないのでしょうか。 READMEには「GPU 2080Ti」で動作確認されているということであり、そのVRAMは11GBです。 一方であなたが使っている「GPU RTX3060」は8GBです。 それでも動作しないのは納得しないのであれば、Colabなどで動作させてみて、その実際の使用量をみてみるのはどうでしょう。
koutya

2023/12/18 07:00

過信してました。ちょっとColab試してきます...
koutya

2023/12/18 14:26

やっぱり難しいみたいです。 確認していただいて、ありがとうございます。 また、息詰まったら助けてもらえると幸いです。
koutya

2023/12/18 18:27

おそらく解決しました。? --init_epoch n(数) が終わりepoch n(数)に切り替わるとき止まってしまいましたが その前半をGPUで、後半をCPUで動かしたら、しっかり動いて出力されました。 ただしCPUで動かす部分は比較して30倍くらい時間かかります
koutya

2023/12/19 03:28

止まった後、途中からCPUで動作させたら損失関数に関する値がnanと出てしまいます。多分、学習できてないと思います。  RTX3060でなるべく動かしたいです。
guest

回答2

0

RTX2070qを使用して、完了することができました。 感謝しています。
スペック不足が唯一の問題だと思いました。 basketball stars

投稿2023/12/25 08:13

wilkinsonwi

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

RTX2070q使って正常に完了させました。ありがとうございます。
スペック不足にたいしての別の解決策は見つけられませんでした。

投稿2023/12/19 23:25

koutya

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問