在gpu上训练一个tensorflow convnet模型时,gpu利用率在0.5秒内保持脉动0到100%。
这是一个理想的效果吗?或者我的模型出了什么问题。 由于我的大模型和大图像,我需要利用全部gpu功率。 请帮忙。
注意: - 我使用TfRecorddataset作为输入管道。 下面是输入管道的代码; -
def _parse_function(example_proto):
features = {"image": tf.FixedLenFeature((), tf.string, default_value=""),
"mask": tf.FixedLenFeature((), tf.string, default_value="")}
parsed_features = tf.parse_single_example(example_proto, features)
return parsed_features["image"], parsed_features["mask"]
# In[5]:
tfRecord_file = "/home/tarun26mi/carvan_challenge/tfrecords/"
tfFiles = [tfRecord_file+f for f in listdir(tfRecord_file)[:-2] if f[-9:]== "tfrecords"]
totalEamples = len(tfFiles) * EXAMPLE_PER_FILE
itr_for_one_epoch = totalEamples/BATCH_SIZE
f_print(totalEamples,opstring="Total Example: ")
f_print(itr_for_one_epoch,opstring="Iterations for one epoch ")
f_print(tfFiles)
# In[6]:
dataset = tf.contrib.data.TFRecordDataset(tfFiles)
dataset = dataset.map(_parse_function)
dataset = dataset.batch(BATCH_SIZE)
dataset = dataset.repeat()
iterator = dataset.make_one_shot_iterator()
next_element = iterator.get_next()
img, mask = next_element
img = tf.decode_raw(img,tf.float32)
mask = tf.decode_raw(mask,tf.float32)
img = tf.reshape(img,shape=[-1,IMAGE_ROWS,IMAGE_COLS,NUM_CHANNELS])
mask = tf.reshape(mask,shape=[-1,OUTPUT_ROWS,OUTPUT_COLS,1])