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

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

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

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

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

Q&A

0回答

1627閲覧

autokerasにて学習時にGPUがうまく使われない

totyan

総合スコア6

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

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

0グッド

0クリップ

投稿2021/01/17 10:14

編集2021/01/17 10:20

前提・実現したいこと

autokerasによる学習時のGPUの使用率を上げたいです。

発生している問題

GPUが載っているPCでautokerasを使用時の思うようにGOUの使用率があがらず学習がかなり遅くなっています。
CPUの使用率は常時100%、GPUの使用率は20〜30%程度です。
使用率の内訳は、CPUはほぼ「Python」が占めていて、GPUはほぼ「デスクトップウィンドマネージャー」が占めています。

該当のソースコード

Python

1import shutil 2import autokeras as ak 3import keras as ks 4from keras.utils import np_utils 5from sklearn.datasets import fetch_openml 6import pandas as pd 7import numpy as np 8import matplotlib 9import matplotlib.pyplot as plt 10from PIL import Image 11import glob 12import os 13from keras.preprocessing.image import load_img, img_to_array 14import sys 15import pickle 16import requests 17from tqdm import tqdm 18from io import StringIO 19import time 20# 画像用 21from keras.preprocessing.image import array_to_img, img_to_array, load_img 22#自作モジュール 23from module import sep_dataset, line_send, pre_treatment, model_evaluation, set_datarange 24 25 26#教師データが入っているフォルダのパス 27train_folder_path = "D:/folder/subX" 28#モデルの最大試行回数 29max_model = 20 30 31#モデル構築(Auto-kerasのモデル設定) 32def make_model(): 33 input_node = ak.ImageInput() 34 output_node = ak.ImageBlock(normalize=False, augment=False, )(input_node) 35 output_node = ak.ClassificationHead()(output_node) 36 model = ak.AutoModel(inputs=input_node, outputs=output_node, overwrite=True, max_trials=max_model, directory=train_folder_path,) 37 return model 38 39#テスト・トレーニングデータに分離、検証データの入れ替え及び全パターンの組み合わせの作成 40t1, v1 = sep_dataset.main(train_folder_path, 0) 41t2, v2 = sep_dataset.main(train_folder_path, 1) 42t3, v3 = sep_dataset.main(train_folder_path, 2) 43train = [] 44val = [] 45for i in range(len(t1)): 46 train.append([t1[i]]+[t2[i]]+[t3[i]]) 47 val.append([v1[i]]+[v2[i]]+[v3[i]]) 48 49#前回学習中断箇所の取得(r=中断箇所のセルのrow、 c=中断箇所のセルのcolumn、 v=検証データの数字、  p=何個目の分割パターンかの数字) 50r, c, v, p = set_datarange.main(train_folder_path) 51 52#全パターンを回す 53for count in range(p, len(val)): 54 for i in range(v,3): 55 #データの前処理 56 X_train, Y_train = pre_treatment.main(train[count][i], len(train[count][i])) 57 X_test, Y_test = pre_treatment.main(val[count][i], len(val[count][i])) 58 59 #CNNモデルの構築(max_trials:モデルの試行回数) 60 model = make_model() 61 62 #モデルの訓練(学習) 63 model.fit(X_train, Y_train, validation_data=(X_test, Y_test)) 64 65 v = 0

試したこと

Tensorflowサポートページ記載の環境の組み合わせにしました(補足情報に使用している環境を記載しています)。

コード内に以下使用GPUが確認できるコードを入れ確認しました

from tensorflow.python.client import device_lib device_lib.list_local_devices()

Output

1[name: "/device:CPU:0" 2 device_type: "CPU" 3 memory_limit: 268435456 4 locality { 5 } 6 incarnation: 11117973514078919282, 7 name: "/device:XLA_CPU:0" 8 device_type: "XLA_CPU" 9 memory_limit: 17179869184 10 locality { 11 } 12 incarnation: 15348073617761923140 13 physical_device_desc: "device: XLA_CPU device", 14 name: "/device:XLA_GPU:0" 15 device_type: "XLA_GPU" 16 memory_limit: 17179869184 17 locality { 18 } 19 incarnation: 8427739235963277201 20 physical_device_desc: "device: XLA_GPU device"]

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

Windows10
CPU Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
GPU NVIDIA GeForce GTX 1660 SUPER

Python 3.7.3
autokeras 1.0.12
tensorflow-gpu 2.3.0
cuDNN 7.4
CUDA 10.1

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問