рдХреГрдкрдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рдЯреИрдЧ: Bug_template
рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА
рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореИрдВ MNN рдкрд░ CNN рдореЙрдбрд▓ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рдореИрдВ GPU рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдореЗрд░рд╛ рд╕рд╛рдордирд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ
2018-12-20 20:09:13.644176: E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
рдореИрдВрдиреЗ рдХреБрдЫ рдЦреБрджрд╛рдИ рдХреА рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдореЗрдореЛрд░реА рдЗрд╢реНрдпреВ рд╣реИ (рдЬреЛ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ 32 рдЬреАрдмреА рдХреА рд░реИрдо рдФрд░ 64 рд╕реНрд╡реИрдк рдХреА рд╣реИред рдореИрдВ рдореЙрдбрд▓ рдЪрд▓рд╛рддреЗ рд╕рдордп htop рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ 20 + рдЬреАрдмреА рдореБрдлреНрдд рд╣реИ, рдЬреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ 8GB vRAM рдореИрдкрд┐рдВрдЧ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
gpu_options.allow_growth = True
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдореЙрдбрд▓ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдХреИрд╕реЗред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, gpu_options.allow_growth = True
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ / рдореЙрдбрд▓ / рдЖрдзрд┐рдХрд╛рд░рд┐рдХ / mnist / рдореЙрдбрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореЗрд░реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб
import os
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
import math
import time
# Killing optional CPU driver warnings
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
# os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
tf.logging.set_verbosity(tf.logging.ERROR)
class Model:
def __init__(self, image, label):
"""
A Model class contains a computational graph that classifies images
to predictions. Each of its methods builds part of the graph
on Model initialization. Do not modify the constructor, as doing so
would break the autograder. You may, however, add class variables
to use in your graph-building. e.g. learning rate,
image: the input image to the computational graph as a tensor
label: the correct label of an image as a tensor
prediction: the output prediction of the computational graph,
produced by self.forward_pass()
optimize: the model's optimizing tensor produced by self.optimizer()
loss: the model's loss produced by computing self.loss_function()
accuracy: the model's prediction accuracy
"""
self.image = image
self.label = label
# TO-DO: Add any class variables you want to use.
self.prediction = self.forward_pass()
self.loss = self.loss_function()
self.optimize = self.optimizer()
self.accuracy = self.accuracy_function()
def forward_pass(self):
"""
Predicts a label given an image using convolution layers
:return: the prediction as a tensor
"""
filter_1 = tf.Variable(tf.truncated_normal([3, 3, 1, 8], stddev=0.1))
conv_1 = tf.nn.conv2d(self.image, filter_1, [1, 1, 1, 1], "SAME")
reshaped = tf.reshape(conv_1, shape=[50, -1])
L1 = reshaped.shape[1].value
L2 = 500
W1 = tf.Variable(tf.random_normal([L1, L2], mean=0, stddev=0.01))
b1 = tf.Variable(tf.random_normal([L2], mean=0, stddev=0.01))
relu_1 = tf.nn.relu(tf.matmul(reshaped, W1) + b1)
W2 = tf.Variable(tf.random_normal([L2, 10], mean=0, stddev=0.01))
b2 = tf.Variable(tf.random_normal([10], mean=0, stddev=0.01))
logits = tf.nn.relu(tf.matmul(relu_1, W2) + b2)
return logits
def loss_function(self):
"""
Calculates the model cross-entropy loss
:return: the loss of the model as a tensor
"""
loss = tf.losses.softmax_cross_entropy(onehot_labels=self.label, logits=self.prediction)
return loss
def optimizer(self):
"""
Optimizes the model loss using an Adam Optimizer
:return: the optimizer as a tensor
"""
learning_rate = 0.1
sgd = tf.train.GradientDescentOptimizer(learning_rate)
train = sgd.minimize(self.loss)
return train
def accuracy_function(self):
"""
Calculates the model's prediction accuracy by comparing
predictions to correct labels тАУ no need to modify this
:return: the accuracy of the model as a tensor
"""
correct_prediction = tf.equal(tf.argmax(self.prediction, 1),
tf.argmax(self.label, 1))
return tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
def main():
t_start = time.time()
mnist = input_data.read_data_sets("data/mnist/", one_hot=True)
batch_sz = 50
batch = 2000
inputs = tf.placeholder(shape=[batch_sz, 28, 28, 1], dtype=tf.float32)
labels = tf.placeholder(shape=[batch_sz, 10], dtype=tf.float32)
model = Model(inputs, labels)
session_config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True))
sess = tf.Session(config=session_config)
# sess = tf.Session()
sess.run(tf.global_variables_initializer())
for i in range(batch):
next_image, next_label = mnist.train.next_batch(batch_sz)
next_image = next_image.reshape((batch_sz, 28, 28, 1))
sess.run(model.optimize, feed_dict={inputs: next_image, labels: next_label})
acc, test_images, test_labels = 0, mnist.test.images, mnist.test.labels
test_batch = math.ceil(len(test_images) / batch_sz)
for i in range(test_batch):
batch_images = test_images[i * batch_sz: (i + 1) * batch_sz]
batch_images = batch_images.reshape((batch_sz, 28, 28, 1))
batch_labes = test_labels[i * batch_sz: (i + 1) * batch_sz]
acc += sess.run(model.accuracy, feed_dict={inputs: batch_images, labels: batch_labes})
acc /= test_batch
print(acc)
print(time.time() - t_start, 'seconds')
return
if __name__ == '__main__':
main()
рдореИрдВ рдПрдХ рд╣реА GPU рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ: "CUDNN_STATUS_INTERNAL_ERROR"ред
RTX 2070 рдЬреАрдкреАрдпреВ
CUDA 10
cuDNN 7.4.2
рдЙрдмреБрдиреНрдЯреБ 18.04
tf-nightly-gpu (r1.13, 13 рдЬрдирд╡рд░реА)
рдЕрдЬрдЧрд░ 3.6.7
2019-01-15 05:01:03.503415: I tensorflow/stream_executor/platform/default/dso_loader.cc:154] successfully opened CUDA li
brary libcublas.so.10.0 locally
2019-01-15 05:01:03.752563: I tensorflow/stream_executor/platform/default/dso_loader.cc:154] successfully opened CUDA li
brary libcudnn.so.7 locally
2019-01-15 05:01:04.905618: E tensorflow/stream_executor/cuda/cuda_dnn.cc:493] Could not create cudnn handle: CUDNN_STAT
US_INTERNAL_ERROR
2019-01-15 05:01:04.908147: E tensorflow/stream_executor/cuda/cuda_dnn.cc:493] Could not create cudnn handle: CUDNN_STAT
US_INTERNAL_ERROR
2019-01-15 05:01:04.908191: W tensorflow/core/framework/op_kernel.cc:1412] OP_REQUIRES failed at conv_ops_fused.cc:801 :
Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to se
e if a warning log message was printed above.
рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
RTX2080 GPU
CUDA 10
cudnn 7.4.2
рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд tf рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА tf-nightly-gpu рдФрд░ рдПрдХ рд╕реНрд╡ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдЧреБрд░реБ рд╕реЗ (060b6e32ad)ред
рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕рдХреЗ рдЖрдЧреЗ рдбреАрдмрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИред
CUDNN_LOGINFO_DBG = 1;
CUDNN_LOGDEST_DBG = stdout
рддрдм рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
I0117 14: 11: 24.441819 140433563125568 basic_session_run_hooks.py/94] 0t //mp/mnist/model.ckpt рдореЗрдВ 0 рдХреЗ рд▓рд┐рдП рдЪреМрдХрд┐рдпреЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ред
2019-01-17 14: 11: 25.916269: I рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ / рд╕реНрдЯреНрд░реАрдо_рдПрдХреНрд╕рдкреНрд▓рд┐рдХреЙрд░ / рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо / рдбрд┐рдлрд╝реЙрд▓реНрдЯ / dso_loader.cc: 154] рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ CUDA рд▓рд╛рдЗрдмреНрд░реЗрд░реА libcublas.so.10.0 рдЦреЛрд▓рд╛ рдЧрдпрд╛
рдореИрдВ! CuDNN (v7402) рдлрд╝рдВрдХреНрд╢рди cudnnCreate () рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдореИрдВ! рд╕рдордп: 2019-01-17T14: 11: 26.079184 (0d + 0h + 0m + 0s рдкреНрд░рд╛рд░рдВрдн рд╕реЗ)
рдореИрдВ! рдкреНрд░рдХреНрд░рд┐рдпрд╛ = 29255; рдзрд╛рдЧрд╛ = 29356; GPU = NULL; рд╕рдВрднрд╛рд▓ = рдкреВрд░рд╛; рд╕реНрдЯреНрд░реАрдордЖрдИрдб = NULLред
2019-01-17 14: 11: 26.079151: рдореИрдВ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ / рд╕реНрдЯреНрд░реАрдо_рдПрдХреНрд╕реЙрдЬрд╝рд┐рдЯрд░ / рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо / рдбрд┐рдлрд╝реЙрд▓реНрдЯ / dso_loader.cc: 154] рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ CUDA рд▓рд╛рдЗрдмреНрд░реЗрд░реА libcudnn.so.7 рдЦреЛрд▓рд╛ рдЧрдпрд╛
рдореИрдВ! CuDNN (v7402) рдлрд╝рдВрдХреНрд╢рди cudnnCreate () рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдореИрдВ! рд╕рдордп: 2019-01-17T14: 11: 26.571897 (0d + 0h + 0m + 0s рдкреНрд░рд╛рд░рдВрдн рд╕реЗ)
рдореИрдВ! рдкреНрд░рдХреНрд░рд┐рдпрд╛ = 29255; рдзрд╛рдЧрд╛ = 29356; GPU = NULL; рд╕рдВрднрд╛рд▓ = рдкреВрд░рд╛; рд╕реНрдЯреНрд░реАрдордЖрдИрдб = NULLред
2019-01-17 14: 11: 26.571858: рдИ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ / рд╕реНрдЯреНрд░реАрдо_рдПрдХреНрд╕рд▓реЗрдЯрд░ / рдХреВрдбрд╛ / cuda_dnn.cc: 493] cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATIN_INTERNAL_ERROR
2019-01-17 14: 11: 26.579375: рдИ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ / рд╕реНрдЯреНрд░реАрдо_рдПрдХреНрд╕рд▓реЗрдЯрд░ / рдХреВрдбрд╛ / cuda_dnn.cc: 493] cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATIN_INTERNAL_ERROR
рдореИрдВ! CuDNN (v7402) рдлрд╝рдВрдХреНрд╢рди cudnnCreate () рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдореИрдВ! рд╕рдордп: 2019-01-17T14: 11: 26.579803 (0d + 0h + 0m + 0s рдкреНрд░рд╛рд░рдВрдн рд╕реЗ)
рдореИрдВ! рдкреНрд░рдХреНрд░рд┐рдпрд╛ = 29255; рдзрд╛рдЧрд╛ = 29356; GPU = NULL; рд╕рдВрднрд╛рд▓ = рдкреВрд░рд╛; рд╕реНрдЯреНрд░реАрдордЖрдИрдб = NULLред
2019-01-17 14: 11: 26.585818: рдИ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ / рд╕реНрдЯреНрд░реАрдо_рдПрдХреНрд╕рд▓реЗрдЯрд░ / рдХреВрдбрд╛ / cuda_dnn.cc: 493] cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATIN_INTERNAL_ERROR
2019-01-17 14: 11: 26.585850: W ./tensorflow/stream_executor/stream.h:2109] DNN рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ StreamExecutor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ DNN рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", рдкрдВрдХреНрддрд┐ 1335, _do_call рдореЗрдВ
рд╡рд╛рдкрд╕реА fn (* args)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", рдкрдВрдХреНрддрд┐ 1320, _run_fn рдореЗрдВ
рд╡рд┐рдХрд▓реНрдк, feed_dict, fetch_list, target_list, run_metadata)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", рдкрдВрдХреНрддрд┐ 1408, _call_tf_sessionrun рдореЗрдВ
run_metadata)
рдЯреЗрдВрд╕реЛрд░рдлрд╝реНрд▓реЛрдлрд╝реНрдереЛрди.рдлрд╝реНрд░рд╛рдорд╡рд░реНрдХ.errors_impl.UnognError: рдХрдирд╡рд┐рдХреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
[[{{рдиреЛрдб рдбрд┐рд╕реНрдХреНрд░рд┐рдорд┐рдиреЗрдЯрд░ рез / рдХрдиреНрд╡реЛрдХреЗрд╢рди / рдХрдиреНрд╡рд░реНрд╢рди реи}}]]
[[рдЯреНрд░реЗрди / рд╡рд┐рднреЗрджрдХ_рдЯреНрд░реЗрди / рдЯреНрд░реЗрди_рдк / рдирд┐рдпрдВрддреНрд░рдг_ рдирд┐рд░реНрднрд░рддрд╛ / _ релрем реп]]
рдЙрдкрд░реЛрдХреНрдд рдЕрдкрд╡рд╛рдж рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рджреМрд░рд╛рди, рдПрдХ рдФрд░ рдЕрдкрд╡рд╛рдж рд╣реБрдЖ:
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/home/dj/projects/gan/tf_models/research/gan/mnist/train.py", рдкрдВрдХреНрддрд┐ 151, рдореЗрдВ
tf.app.run ()
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py", рдкрдВрдХреНрддрд┐ 125, рд░рди рдореЗрдВ
_sys.exit (рдореБрдЦреНрдп (argv))
рдлрд╝рд╛рдЗрд▓ "/home/dj/projects/gan/tf_models/research/gan/mnist/train.py", рдкрдВрдХреНрддрд┐ 147, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ
get_hooks_fn = tfgan.get_joint_train_hooks ())
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/contrib/gan/python/train.py", рдкрдВрдХреНрддрд┐ 1200, gan_train рдореЗрдВ
config = config)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/contrib/training/python/training/training.py", рдкрдВрдХреНрддрд┐ 546, рдЯреНрд░реЗрди рдореЗрдВ
loss = session.run (train_op, run_metadata = run_metadata)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/monitored_session.py", рд▓рд╛рдЗрди 693, рд░рди рдореЗрдВ
run_metadata = run_metadata)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/monitored_session.py", рдкрдВрдХреНрддрд┐ 1188, рд░рди рдореЗрдВ
run_metadata = run_metadata)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/monitored_session.py", рдкрдВрдХреНрддрд┐ 1287, рд░рди рдореЗрдВ
рдЫрд╣ рдЙрдард╛рдПрдБред рдореВрд▓ (рдореВрд▓_рдПрдХреНрд╕рд╕реА_рдЗрдиреНрдлреЛ
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/monitored_session.py", рдкрдВрдХреНрддрд┐ 1336, рд░рди рдореЗрдВ
feed_dict, рд╡рд┐рдХрд▓реНрдк)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/monitored_session.py", рдкрдВрдХреНрддрд┐ 1362, _call_book_before_run рдореЗрдВ
рдЕрдиреБрд░реЛрдз = hook.before_run (run_context)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/contrib/gan/python/train.py", рдкрдВрдХреНрддрд┐ 1061, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ_рд░реБрди рдореЗрдВ
run_context.session.run (self._train_ops)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", рдкрдВрдХреНрддрд┐ 930, рд░рди рдореЗрдВ
run_metadata_ptr)
рдлрд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", рдкрдВрдХреНрддрд┐ 1153, _run рдореЗрдВ
feed_dict_tensor, рд╡рд┐рдХрд▓реНрдк, run_metadata)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", рдкрдВрдХреНрддрд┐ 1329, _do_run рдореЗрдВ
run_metadata)
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py", рдкрдВрдХреНрддрд┐ 1349, _do_call рдореЗрдВ
рдЙрдард╛рдирд╛ рдкреНрд░рдХрд╛рд░ (рдИ) (рдиреЛрдб_рдбреЗрдлрд╝, рдСрдк, рд╕рдВрджреЗрд╢)
рдЯреЗрдВрд╕реЛрд░рдлрд╝реНрд▓реЛрдлрд╝реНрдереЛрди.рдлрд╝реНрд░рд╛рдорд╡рд░реНрдХ.errors_impl.UnognError: рдХрдирд╡рд┐рдХреНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
[[рдиреЛрдб Discriminator_1 / Conv / Conv2D (рдШрд░ / рдбреАрдЬреЗ / рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ / рдЧрдг / tf_models / рдЕрдиреБрд╕рдВрдзрд╛рди / рдЧрдг / mnist / networks.py рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд: 152)]]
[[рдЯреНрд░реЗрди / рд╡рд┐рднреЗрджрдХ_рдЯреНрд░реЗрди / рдЯреНрд░реЗрди_рдк / рдирд┐рдпрдВрддреНрд░рдг_ рдирд┐рд░реНрднрд░рддрд╛ / _ релрем реп]]
рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдПрдХ рдЗрдирдкреБрдЯ рдСрдкрд░реЗрд╢рди рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдиреЛрдб рдбрд┐рд╕реНрдХреНрд░рд┐рдорд┐рдиреЗрдЯрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдЗрдирдкреБрдЯ рд╕реЛрд░реНрд╕ рдСрдкрд░реЗрд╢рди
рдЖрджрд╛рдиреЛрдВ / рдмреИрдЪ / рдПрди (рдШрд░ / рдбреАрдЬреЗ / рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ / рдЧрдг / tf_models / рдЕрдиреБрд╕рдВрдзрд╛рди / рдЧрдг / mnist / data_provider.py: 67 рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд)
'Discriminator_1 / Conv / Conv2D' рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕:
рдлрд╝рд╛рдЗрд▓ "рдШрд░ / рдбреАрдЬреЗ / рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ / рдЧрдг / tf_models / рдЕрдиреБрд╕рдВрдзрд╛рди / рдЧрдг / mnist / train.py", рд▓рд╛рдЗрди 151, рдореЗрдВ
tf.app.run ()
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / python / platform / app.py", line 125, in run
_sys.exit (рдореБрдЦреНрдп (argv))
рдлрд╝рд╛рдЗрд▓ "рдШрд░ / рдбреАрдЬреЗ / рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ / рдЧрдг / tf_models / рдЕрдиреБрд╕рдВрдзрд╛рди / рдЧрдг / mnist / train.py", рд▓рд╛рдЗрди 87, рдореБрдЦреНрдп рдореЗрдВ
[FLAGS.batch_size, FLAGS.noise_dims]))
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / contrib / gan / python / train.py", line 118, gan_model рдореЗрдВ
discriminator_real_outputs = discriminator_fn (real_data, рдЬрдирд░реЗрдЯрд░_inputs)
рдлрд╝рд╛рдЗрд▓ "рдШрд░ / рдбреАрдЬреЗ / рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ / рдЧрдг / tf_models / рдЕрдиреБрд╕рдВрдзрд╛рди / рдЧрдг / mnist / networks.py", рд░реЗрдЦрд╛ 176, рдмрд┐рдирд╛ рд╢рд░реНрдд_рд╡рд┐рд╖рдпрдХ рдореЗрдВ
net = _discriminator_helper (img, рдЧрд▓рдд, рдХреЛрдИ рдирд╣реАрдВ, weight_decay)
рдлрд╝рд╛рдЗрд▓ "рдШрд░ / рдбреАрдЬреЗ / рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ / рдЧрдг / tf_models / рдЕрдиреБрд╕рдВрдзрд╛рди / рдЧрдг / mnist / networks.py", рдкрдВрдХреНрддрд┐ 152, _discriminator_helper рдореЗрдВ
рд╢реБрджреНрдз = рдкрд░рддреЗрдВ .conv2d (img, 64, [4, 4], рд╕реНрдЯреНрд░рд╛рдЗрдб = 2)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / contrib / рдврд╛рдВрдЪрд╛ / python / ops / arg_scope.py", рдкрдВрдХреНрддрд┐ 182, func_with_bgs рдореЗрдВ
рд╡рд╛рдкрд╕реА func ( args, * current_args)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / contrib / рдкрд░рддреЛрдВ / python / рдкрд░рддреЛрдВ / рдкрд░рддреЛрдВ", рдкрдВрдХреНрддрд┐ 1155, convolution2d рдореЗрдВ
conv_dims = 2)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / contrib / рдврд╛рдВрдЪрд╛ / python / ops / arg_scope.py", рдкрдВрдХреНрддрд┐ 182, func_with_bgs рдореЗрдВ
рд╡рд╛рдкрд╕реА func ( args, * current_args)
рдлрд╝рд╛рдЗрд▓ "usr / рд╕реНрдерд╛рдиреАрдп / lib / python3.6 / dist-package / tanorflow / contrib / рдкрд░рддреЛрдВ / python / рдкрд░рддреЛрдВ / рдкрд░рддреЛрдВ", рдкрдВрдХреНрддрд┐ 1058, рдореЗрдВ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк
рдЖрдЙрдЯрдкреБрдЯ = рд▓реЗрдпрд░ редapply (рдЗрдирдкреБрдЯреНрд╕)
рдлрд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tensorflow / python / keras / engine / base_layer.py", рдкрдВрдХреНрддрд┐ 1228, рдЖрд╡реЗрджрди рдореЗрдВ
рд╕реНрд╡ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВ .__ рдХреЙрд▓ __ (рдЗрдирдкреБрдЯреНрд╕, рдЖрд░реНрдЧреНрд╕, * рдХреНрд╡рд╛рд░реНрдЧреНрд╕)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / python / рдкрд░рддреЛрдВ / base.py", рдкрдВрдХреНрддрд┐ 531, __call__ рдореЗрдВ
рдЖрдЙрдЯрдкреБрдЯ = рд╕реБрдкрд░ (рдкрд░рдд, рд╕реНрд╡) .__ рдХреЙрд▓ __ (рдЗрдирдкреБрдЯреНрд╕, рдЖрд░реНрдЧреНрд╕, * рдХреНрд╡рд╛рд░реНрдЧреНрд╕)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tensorflow / python / keras / engine / base_layer.py", рдкрдВрдХреНрддрд┐ 564, __call__ рдореЗрдВ
рдЖрдЙрдЯрдкреБрдЯ = self.call (рдЗрдирдкреБрдЯреНрд╕, рдЖрд░реНрдЧреНрд╕ , * рдХреНрд╡рд╛рд░реНрдЧреНрд╕)
рдлрд╝рд╛рдЗрд▓ "usr / рд╕реНрдерд╛рдиреАрдп / lib / python3.6 / dist-package / tanorflow / python / keras / рдкрд░рддреЛрдВ / convolutional.py", рдкрдВрдХреНрддрд┐ 196, рдХреЙрд▓ рдореЗрдВ
рдЖрдЙрдЯрдкреБрдЯ = self._convolution_op (рдЗрдирдкреБрдЯ, рд╕реНрд╡ред рдХрд░реНрдиреЗрд▓)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tensorflow / python / ops / nn_ops.py", рдкрдВрдХреНрддрд┐ 966, __call__ рдореЗрдВ
рд╕реНрд╡ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ редconv_op (inp, рдлрд╝рд┐рд▓реНрдЯрд░)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tensorflow / python / ops / nn_ops.py", рд▓рд╛рдЗрди 591, __call__ рдореЗрдВ
рд╕реНрд╡.рдкреЙрд▓ рд▓реМрдЯреЗрдВред (inp, рдлрд╝рд┐рд▓реНрдЯрд░)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tensorflow / python / ops / nn_ops.py", рдкрдВрдХреНрддрд┐ 208, __call__ рдореЗрдВ
рдирд╛рдо = self.name)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / python / ops / nn_ops.py", рдкрдВрдХреНрддрд┐ 1578, conv2d рдореЗрдВ
рдирд╛рдо = рдирд╛рдо)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tanorflow / python / ops / gen_nn_ops.py", рдкрдВрдХреНрддрд┐ 1040, conv2d рдореЗрдВ
data_format = data_format, dilations = dilations, name = name)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tensorflow / python / рдлреНрд░реЗрдорд╡рд░реНрдХ / op_def_library.py", рдкрдВрдХреНрддрд┐ 788, _apply_op_helper рдореЗрдВ
op_def = op_def)
рдлрд╝рд╛рдЗрд▓ "usr / local / lib / python3.6 / dist-package / tensorflow / python / рдЙрдкрдпреЛрдЧ / deprecation.py", рд▓рд╛рдЗрди 501, new_func рдореЗрдВ
рд╡рд╛рдкрд╕реА func ( args, * kwargs)
рдлрд╝рд╛рдЗрд▓ "usr / рд╕реНрдерд╛рдиреАрдп / lib / python3.6 / dist-package / tanorflow / python / рдлреНрд░реЗрдорд╡рд░реНрдХ / ops.py", рд▓рд╛рдЗрди 3300, create_op рдореЗрдВ
op_def = op_def)
рдлрд╝рд╛рдЗрд▓ "usr / рд╕реНрдерд╛рдиреАрдп / lib / python3.6 / dist-package / tanorflow / python / рдврд╛рдВрдЪрд╛ / ops.py", рдкрдВрдХреНрддрд┐ 1801, __in__ рдореЗрдВ
self._traceback = tf_stack.extract_stack ()
рдХрд┐рд╕реА рдХреЛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░? рдореИрдВ рдЕрдкрдирд╛ рдкреВрд░рд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реВрдВ :-(
рд╕реНрд░реЛрдд рд╕реЗ r1.13 рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЗрд╕рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдореЗрд░рд╛ рддрдп рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ config.gpu_options.allow_growth = True
рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реИ (RTX 2060 рдкрд░, Ubuntu 18.04, Python 3.6.7, CUDA 10.0.130, cuDNN 7.4.2, Tensorflow 1.13.0-rc0 рд╕реНрд░реЛрдд рд╕реЗ)ред @ Va-andrew рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ allow_growth
рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдЗрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрд░рдЯреАрдПрдХреНрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдо рд╕рдорд╕реНрдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреНрдпреВрдбреАрдП 10.0 рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдирдП рдХрд╛рд░реНрдб рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдбрд┐рдлреЙрд▓реНрдЯ рдХреЛ 1.13 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрди рдХрд╛рд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рддрд╣рдд рднреА рдЗрд╕рдХрд╛ рдЕрдиреБрднрд╡ рд╣реБрдЖ рд╣реИ:
рд╕рдм рдХреБрдЫ рдХреЗ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде Tensorflow Docker GPU рдХрдВрдЯреЗрдирд░ рдпрд╛ рддреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рд╡реЗ рд░рд┐рдкреЛрд░реНрдЯ CUDNN_STATUS_INTERNAL_ERROR рдХреЗ рдмрдЬрд╛рдп рд╕реАрдзреЗ segfault)ред
рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ, рдЪреАрдЬреЗрдВ Tensorflow v1.12 рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ!
рдФрд░ рджреВрд╕рд░реЛрдВ рдиреЗ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, allow_growth рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЪреАрдЬрд╝реЗрдВ рдареАрдХ рд╕реЗ рдЪрд▓ рд╕рдХрддреА рд╣реИрдВред
рдпрд╣рд╛рдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ред
рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рдмрддрд╛рдпрд╛ рд╣реИ, allow_growth = TRUE рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЪреАрдЬрд╝реЗрдВ рдЪрд▓ рд╕рдХрддреА рд╣реИрдВред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдкрдиреЗ рд╣рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдмрдВрдж рдХрд░рдирд╛ред рдзрдиреНрдпрд╡рд╛рдж!
@ymodak рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреАрдЖрд░ рдХрд╛ рд╕рдВрджрд░реНрдн
рдореИрдВ RTX 2080 рдкрд░ tf-nightly-gpu-2.0-preview
рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдореБрджреНрджрд╛ рд╣реИ
рдПрдХ RTX2080 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛, рджреЛ рджрд┐рди recompiling рдФрд░ рдмрдЧ рд╢рд┐рдХрд╛рд░ рдмрд┐рддрд╛рдпрд╛ рдЬрдм рддрдХ рдореБрдЭреЗ рдпрд╣ рдареАрдХ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
(allow_growth = рд╕рдЪреНрдЪреА рдмрд╛рдд рдЗрд╕реЗ рддрдп рдХрд░рддреА рд╣реИ)
рдЖрдкрдиреЗ рдореЗрд░рд╛ рджрд┐рди рдмрдирд╛ рджрд┐рдпрд╛
рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ allow_growth = true рдХреЛ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ? рдореЗрд░реЗ рдкрд╛рд╕ tf-nightly-gpu-2.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╣реИ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХреА:
tf рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛
config = tf.ConfigProto ()
config.gpu_options.allow_growth = рд╕рдЪ
рд╕рддреНрд░ = tf.Session (config = config, ...)
рд╡рд┐рд╢реЗрд╖рддрд╛ рдЯреНрд░реЗрд╕реЗрдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо)
1 рдЖрдпрд╛рдд tsorflow tf рдХреЗ рд░реВрдк рдореЗрдВ
----> 2 рд╡рд┐рдиреНрдпрд╛рд╕ = tf.ConfigProto ()
рдЧреБрдг: рдореЙрдбреНрдпреВрд▓ 'рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ' рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ 'рд╡рд┐рдиреНрдпрд╛рд╕'
рдореИрдВ рдЕрдиреБрдорд╛рд░реНрдЧрдг 2.0 рдореЗрдВ allow_growth рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдареАрдХ рд╣реИ, рдЗрд╕реЗ tf-nightly-gpu-2.0-рдкреНрд░реАрд╡реНрдпреВ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ ipython рдиреЛрдЯрдмреБрдХ рдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛:
Tetorflow.compat.v1 рдЗрдВрдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдкреНрд░реЛрдЯреЛ рд╕реЗ
Tetorflow.compat.v1 рд╕реЗ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ рдЖрдпрд╛рдд рдХрд░реЗрдВ
config = configProto ()
config.gpu_options.allow_growth = рд╕рдЪ
рд╕рддреНрд░ = рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ (рд╡рд┐рдиреНрдпрд╛рд╕ = рд╡рд┐рдиреНрдпрд╛рд╕)
рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛, gpu_options.allow_growth рдХреЗ рд╕рд╛рде = рд╕рд╣реА рд╕рдорд╕реНрдпрд╛ рдареАрдХ рдХреА рдЧрдИред
@newhouseb рдЖрдкрдиреЗ рд╕рднреА рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ / рдХрд╣рд╛рдБ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рдмрджрд▓рд╛рд╡ рдерд╛?
рдХреНрдпрд╛ рдХрдВрдмрд▓ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ?
рдПрдХ рдХрд╛рд░рдг рд╕реЗ рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
https://www.tensorflow.org/guide/using_gpu#allowing_gpu_memory_growth
рдореЗрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдореИрдВ рдЯреАрдПрдл рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЬреАрдкреАрдпреВ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬреАрдкреАрдпреВ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕реАрдорд┐рдд рд╕реНрдерд╛рди рдкрд░ рд░рдЦрдирд╛ рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рд╕реА ++ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
OOM рддреНрд░реБрдЯрд┐ рдореЗрдВ рдЕрдиреБрдорддрд┐ рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЬреЛрдбрд╝рдирд╛ред
рдЗрд╕ рдХреЛрдб рдХреА рд░реЗрдЦрд╛ рдХреЗ рдмрд┐рдирд╛ рдореЙрдбрд▓ рдПрдХ рд╣реА рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред
OOM рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде
options.config.mutable_gpu_options()->set_allow_growth(true);
options.config.mutable_gpu_options()->set_per_process_gpu_memory_fraction(fraction);
OOM рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛
//options.config.mutable_gpu_options()->set_allow_growth(true);
options.config.mutable_gpu_options()->set_per_process_gpu_memory_fraction(fraction);
рддреЛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ segfault рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред
@ymodak рдпрд╣ рдмрдЧ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрдХреАрдирди, рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рдлрдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рддреЛ allow_growth рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╛ CUDNN_STATUS_INTERNAL_ERROR
рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
@ymodak рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬрдмрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдо рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИ рдЗрд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдмрджрд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдЖрд░рдЯреАрдПрдХреНрд╕ рдХрд╛рд░реНрдб рдкрд░ рдмреЙрдХреНрд╕_ рдХреЗ _out рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрди рдкрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЛ рднреА рд╕рдВрд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
@samhodge рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдкреНрд░рд▓реЗрдЦрди рдкреГрд╖реНрда рдкрд░ рд╕реБрдЭрд╛рдП рдЧрдП config.gpu_options.per_process_gpu_memory_fraction = 0.4
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ OOM рдХреЛ рдирд╣реАрдВ рд░реЛрдХ рд╕рдХрддреЗ?
рдореИрдВ рдЕрдкрдиреЗ RTX 2080 рдкрд░ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдмреВрд▓рд┐рдпрди рд╣реИрдХ рд╕реЗ рднреНрд░рдорд┐рдд рд╣реВрдВ: рдХреНрдпрд╛ рдпрд╣ allow_growth = True
рдПрдХ рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдЕрдкрдиреЗ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдПрдХ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордп рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ? (рд╕реНрдХреНрд░реАрди рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ GPU рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд)
рдореИрдВ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рд╕реНрдерд┐рд░ рдПрдордПрд▓ рд╕реНрдЯреИрдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЧрдбрд╝рдмрдбрд╝реА (рдмрдбрд╝реЗ рдЧреНрд░рд┐рдбрд╕рд░реНрдЪ, рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдЖрджрд┐) рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рдЕрднреА рддрдХ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЖрдВрддрд░рд┐рдХ рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдмрд╕ рдЗрд╕ рдмреВрд▓рд┐рдпрди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕рддреНрд░ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдореБрджреНрджреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рдкрд╛рдпрд╛ рдерд╛ рдХрд┐ рдореИрдВ GPU RAM рдХреЛ рдореБрдлреНрдд рдореЗрдВ рдорд╛рдкрддрд╛ рд╣реВрдВ, рдЕрдЧрд░ рдореИрдВ 8Gb рдХрд╛рд░реНрдб рдкрд░ рд╣реВрдВ рдФрд░ 6Gb рд╕реНрд╡рддрдВрддреНрд░ рд╣реВрдВ рддреЛ рдореИрдВ 0.75 рдХреЗ рдЕрдВрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХрднреА-рдХрднреА рдПрдХ OOM рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВрдиреЗ 0.95 * 0.75 рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдХ OOM рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк Tensorflow рдХреЗ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдХреЛ рдзрдХреНрдХрд╛ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХрднреА-рдХрднреА рд╕реАрдорд╛ рддрдХ рд╕реАрдорд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдУрдУрдПрдо рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдорд╛рдкрддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ GPU рдпрд╛ CPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
@samhodge рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ allow_growth
рдмреВрд▓рд┐рдпрди рд╣реИрдХ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рдкреНрд░рдореБрдЦ GPU рдСрдкрд░реЗрд╢рди рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ tsorflow рджреНрд╡рд╛рд░рд╛ time_at_ (рдмреИрдЪ рдЖрдХрд╛рд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛) GPU рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХреЛ рдУрд╡рд░рдлреНрд▓реЛ рдХрд░реЗрдВ ...?
рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рднреА GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
CUDA 10.0 / cuDNN 7.4.2.24/Nvidia рдбреНрд░рд╛рдЗрд╡рд░ 410 / Ubuntu 16.04 рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдк рд╕реЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.13.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ GTX 1050 рдкрд░ рдПрдХ рд╣реА рдЕрдВрдХ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдЕрднреА рднреА рдпрд╣рд╛рдБ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди "config.gpu_options.allow_growth = True" рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред TF-gpu 1.14.1 рдФрд░ TF-gpu 2.0 рджреЛрдиреЛрдВ рдкрд░ рд╣реЛрддрд╛ рд╣реИред RTX1070, CUDA 10.0, рдЙрдмрдВрдЯреВ 18.04, рдПрдирд╡реАрдбрд┐рдпрд╛ рдбреНрд░рд╛рдЗрд╡рд░ 430.09ред
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреА рдЬрд╛ рд░рд╣реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ (рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдг) cuDNN рд╣реИрдВрдбрд▓ рдмрдирд╛рддреЗ рд╕рдордп GPU рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ TensorFlow рдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рднреА рдореЗрдореЛрд░реА рд▓реЗ рд▓реА рд╣реИ (рдпрд╛ рддреЛ рдХреНрдпреЛрдВрдХрд┐ config.gpu_options.allow_growth = false, рдпрд╛ per_process_gpu_memory_fraction 1.0 рдХреЗ рдХрд░реАрдм рд╣реИ) рддреЛ cuDNN рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдореЗрдореЛрд░реА рдирд╣реАрдВ рдмрдЪреА рд╣реИред
рдЖрдк nvprof рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ TensorFlow рдЪрд▓рд╛рдХрд░ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрд╕рдлрд▓ cuMemAlloc рдХреЙрд▓ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рдЯреНрд░реЗрд╕ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдорд╕реНрдпрд╛ # 6698 рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреА рд╣реИред рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рдПрдХ cuDNN рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рдЬреЛ рдЙрдирдХреЗ CUDA рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ред рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ CUDA 10 рдХреЗ рд╕рд╛рде рдЪрд▓рдиреЗ рдкрд░ рдЖрдк CUDA 10 рдХреЗ рд▓рд┐рдП cuDNN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ cuDNN рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рдорд╣рд╛рди рдореВрд░реНрдЦ рд╣реВрдБред TF2-nightly рдХреЛ рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рд╡реГрджреНрдзрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВ, рдФрд░ рдпрд╣ рд╕рдм рдЕрдЪреНрдЫрд╛ рд╣реИред
рдХреЙрдирдбрд╛ рд╕реЗ рдХреНрдпреБрдбрд╛рдЯреБрд▓рдХрд┐рдЯ рдФрд░ рдХреБрдбрди рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рдПрдВ?
рдЪреВрдВрдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛-рд╢рд╛рдорд┐рд▓ (рдпрд╛ рдПрдореНрдмреЗрдбреЗрдб) cudnn рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рддреНрд░реБрдЯрд┐ рд╣реИ, рдореИрдВ рдХреЛрдВрдбрд╛-рд╕реНрдерд╛рдкрд┐рдд cudatoolkit рдФрд░ cudnn рдХреЛ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ Nvidia рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ CUDA рдФрд░ cudnn рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рддреНрд░реБрдЯрд┐: рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдореИрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ред
conda remove --name рдХреБрдбрд╛ - рд▓рдВрдмрд╛
conda remove --name cudnn --all
рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд░рд╛рд╕реНрддреЗ рдореЗрдВ cudatoolkit-10.0.130-0 рдФрд░ cudnn-7.3.1-cuda10.0.0_0 рд╕рд╣рд┐рдд рджреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред
/home/anaconda3/pkgs/cudatoolkit-10.0.130-0
/home/anaconda3/pkgs/cudnn-7.3.1-cuda10.0.0_0
рдореИрдВ рдПрдирд╛рдХреЛрдВрдбрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ (рдпрд╛ рдПрдореНрдмреЗрдбреЗрдб) cuda рдФрд░ cudnn рдХреЛ рдХреИрд╕реЗ (рдпрд╛ рд╣рдЯрд╛) рд╕рдХрддрд╛ рд╣реВрдВред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж,
рдорд╛рдЗрдХ
@ mikechen66 рдХреЛрдВрдбрд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реИ? рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдХреНрдпреВрдбрд╛ рдФрд░ рдХреЙрдбреНрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдХреНрдпреЛрдВ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрджрд┐ рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рдмрдЬрд╛рдп рдорд┐рдиреАрдХреЛрдиреНрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдорд┐рдирд┐рдХреЛрдВрдбрд╛ рдХреЗрд╡рд▓ рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЙрди рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЪрд╛рд╣рд┐рдПред
рд╣рд╛рдп tydlwav:
рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЧрддрддрд╛ рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рдХреА рддрд╛рд░реАрдЦ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕рдВрдмрдВрдзрд┐рдд рджреЗрд╡ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рд╕рд░рд▓ MNIST рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдЪрд▓рд╛рдпрд╛ рдФрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ 3 рднреА cudnn рдФрд░ TensorFlow рдХреЗ рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдпрд╣ рдПрдирд╛рдХреЛрдВрдбрд╛ 3 рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдирд╛рдХреЛрдВрдбрд╛ рд╕реЗ рд╣рд▓реНрдХреЗ рдХреВрдбрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреНрдпреВрдбрд╛ рдФрд░ рдХреБрдбрдирди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреГрдкрдпрд╛ рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред
рдПрдирд╡реАрдбрд┐рдпрд╛ GeForce RTX 2060
рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдбреНрд░рд╛рдЗрд╡рд░: NVIDIA-Linux-x86_64-415.27 (15 рдЬрдирд╡рд░реА, 2019)
1 рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ RTX 2060 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рдПрдирд╛рдХреЛрдВрдбрд╛ 3: рдПрдирд╛рдХреЛрдВрдбрд╛ 3-2019.03-Luxux-x86_64.sh (2019.04-04)
- рдХреБрдбрд╛рдЯреБрд▓рдХрд┐рдЯ -резрежud.рез.рейреж-0
- рдХреБрдбрди-7.3.1-cuda10.0.0_0
- рддреЗрдВрд╕реЛрд░рд▓реЛ резрей.рез
- рдЬреВрдкреНрдпреВрдЯрд░ рдиреЛрдЯрдмреБрдХ рдФрд░ рдЖрдИрдкрд╛рдЗрдХрд░реНрдирд▓
- Ananconda3 рджреНрд╡рд╛рд░рд╛ рдЖрдХреНрд░рдордг
рдЖрдпрд╛рдд рдХрд░реЗрд╕
keras.datasets рд╕реЗ mnist рдЖрдпрд╛рдд рдХрд░реЗрдВ
keras.models рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
keras.layers рд╕реЗ рдШрдиреЗ, рдбреНрд░реЙрдкрдЖрдЙрдЯ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
keras.layers рд╕реЗ Flatten, MaxPooling2D, Conv2D рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
keras.callbacks рд╕реЗ TensorBoard рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
(X_train, y_train), (X_test, y_test) = mnist.load_pata ()
X_train = X_train.reshape (60000,28,28,1) .astype ('flo3232)
X_test = X_test.reshape (10000,28,28,1) .astype ('float32)
X_train / = 255
X_test / = 255
n_classes = 10
y_train = keras.utils.to_categorical (y_train, n_classes)
y_test = keras.utils.to_categorical (y_test, n_classes)
рдореЙрдбрд▓ = рдЕрдиреБрдХреНрд░рдорд┐рдХ ()
model.add (Conv2D (32, kernel_size = (3,3), рд╕рдХреНрд░рд┐рдпрдг = 'relu', input_shape = (28,28,1)))
model.add (Conv2D (64, kernel_size = (3,3), рд╕рдХреНрд░рд┐рдпрдг = 'relu'))
model.add (MaxPooling2D (pool_size = (2,2)))
model.add (рдбреНрд░реЙрдкрдЖрдЙрдЯ (0.25))
model.add (рд╕рдкрд╛рдЯ ())
model.add (рдШрдирд╛ (128, рд╕рдХреНрд░рд┐рдпрдг = 'рд░рд┐рд▓реЗ'))
model.add (рдбреНрд░реЙрдкрдЖрдЙрдЯ (0.5))
model.add (рдШрдирд╛ (n_classes, рд╕рдХреНрд░рд┐рдпрдг = 'рд╕реЙрдлреНрдЯрдореИрдХреНрд╕'))
model.compile (рд╣рд╛рдирд┐ = 'рд╢реНрд░реЗрдгреАрдмрджреНрдз_ рд╕рдХрд▓', рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ = 'рдПрдбреИрдо', рдореЗрдЯреНрд░рд┐рдХреНрд╕ = ['рд╕рдЯреАрдХрддрд╛'])
рдЯреЗрдВрд╕реЛрд░_рдмреЛрд░реНрдб = рдЯреЗрдиреНрд╕рд░рдмреЛрд░реНрдб ('./ рд▓реЙрдЧ / рд▓реЗрдиреЗрдЯ-рдПрдордПрдирдЖрдИрдПрд╕рдЯреА -1')
model.fit (X_train, y_train, рдмреИрдЪ_рд╕рд╛рдЗрдЬ = 128, рдпреБрдЧ = 15, рдХреНрд░рд┐рдпрд╛ = 1,)
validation_data = (X_test, y_test), рдХреЙрд▓рдмреИрдХ = [рдЯреИрдВрд╕рд░_рдмреЛрд░реНрдб])
TensorFlow рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдЪреЗрддрд╛рд╡рдиреА: рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ : /home/mike/anaconda3/envs/tf-gpu/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ рдкреНрд░рд╡рд╛рд╣) рд╕реЗ ) рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢:
рдкреНрд▓реЗрдЬрд░ рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓реЛрдХреЗрд╢рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА: рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ: /home/mike/anaconda3/envs/tf-gpu/lib/python3.7/site-packages/keras/backend/tensorn_backend.py:3445: рдХреЙрд▓рд┐рдВрдЧрдЖрдЙрдЯ рд╕реЗ (рдЯреЗрдирд╕реЛрд░рдлрд╝реНрд▓реЛрд╕реНрдЯреНрд░реЛрде.рдСрди .nn_ops) Keep_prob рдХреЗ рд╕рд╛рде рдкрджрд╛рд╡рдирдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢:
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ rate
рдХреЗ рдмрдЬрд╛рдп keep_prob
ред рджрд░ rate = 1 - keep_prob
рд╕реЗрдЯ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЪреЗрддрд╛рд╡рдиреА: рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ : /home/mike/anaconda3/envs/tf-gpu/lib/python3.7/site-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tanorflow.python.ops.math_ops_ops/ ) рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢:
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп tf.cast рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
60000 рдирдореВрдиреЛрдВ рдкрд░ рдЯреНрд░реЗрди, 10000 рдирдореВрдиреЛрдВ рдкрд░ рдорд╛рдиреНрдп
рдпреБрдЧ рез/резрел
рдЕрдирдЬрд╛рдиреЗ рдЯреНрд░реИрд╕рд░рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо)
34
35 рдореЙрдбрд▓
---> 36 рд╕рддреНрдпрд╛рдкрди_рджрд╛рддрд╛ = (рдПрдХреНрд╕_рдЯреЗрд╕реНрдЯ, рд╡рд╛рдИ_рдЯреЗрд╕реНрдЯ), рдХреЙрд▓рдмреИрдХ = [рдЯреЗрдВрд╕реЛрд░_рдмреЛрд░реНрдб]]
~ / anaconda3 / envs / tf-gpu / lib / python3.7 / рд╕рд╛рдЗрдЯ-рд╕рдВрдХреБрд▓ / keras / рдЗрдВрдЬрди / рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореЗрдВ рдлрд┐рдЯ (рд╕реНрд╡, x, y, batch_size, рдпреБрдЧреЛрдВ, рдХреНрд░рд┐рдпрд╛рдУрдВ, рдХреЙрд▓рдмреИрдХ, рд╕рддреНрдпрд╛рдкрди_рдПрд╕рдкреАрдПрд▓рдЯреА, рд╕рддреНрдпрд╛рдкрди_рджрддрд╛, рдлреЗрд░рдмрджрд▓, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, ** kwargs)
1037 рдЖрд░рдВрднрд┐рдХ_рдкреЙрдЪ = рдЖрд░рдВрднрд┐рдХ_рдЪреЛрдЪ,
1038 рдЪрд░рдг_рдкрд░_рдкреЙрдЪ = рдЪрд░рдг_рдкрд░_рдкреБрдЫ,
-> 1039 рд╕рддреНрдпрд╛рдкрди_рд╕реНрдЯреЗрдк = рд╕рддреНрдпрд╛рдкрди_рд╕реНрдЯреЗрдкреНрд╕)
1040 рд╣реИ
1041 рдбреАрдИрдП рдореВрд▓реНрдпрд╛рдВрдХрди (рд╕реНрд╡рдпрдВ, x = рдХреЛрдИ рдирд╣реАрдВ, y = рдХреЛрдИ рдирд╣реАрдВ,
~ / anaconda3 / envs / tf-gpu / lib / python3.7 / site-package / keras / engine / training_arrays.py to fit_loop (рдореЙрдбрд▓, f, ins, out_labels, batch_size, epochs, verbose, callbacks, val_f, val_ins) рдлреЗрд░рдмрджрд▓, рдХреЙрд▓рдмреИрдХ_рдореЗрдЯреНрд░рд┐рдХреНрд╕, рдЖрд░рдВрднрд┐рдХ_рдкреЙрдЪ, рд╕реНрдЯреЗрдкреНрд╕_рдкрд░_рдкреНрд░реЛрдЪ, рд╕рддреНрдпрд╛рдкрди_рд╕реНрдЯреЗрдкреНрд╕)
197 ins_batch [i] = ins_batch [i] .toarray ()
198
-> 199 рдмрд╣рд┐ = f (ins_batch)
200 рдмрд╛рд╣рд░реА = to_list (рдмрд╛рд╣рд░реА)
201 for l, o in zip (out_labels, outs):
~ / anaconda3 / envs / tf-gpu / lib / python3.7 / рд╕рд╛рдЗрдЯ-рд╕рдВрдХреБрд▓ / keras / рдмреИрдХрдПрдВрдб / tanorflow_backend.py __call __ (рд╕реНрд╡рдпрдВ, рдЗрдирдкреБрдЯ)
2713 рд╕реНрд╡ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВред
2714
-> 2715 рд╕реНрд╡ред
2716 рдФрд░:
2717 рдпрджрд┐ рдЗрдирдкреБрдЯ рдореЗрдВ x рдХреЗ рд▓рд┐рдП py_any (is_tensor (x)):
~ / anaconda3 / envs / tf-gpu / lib / python3.7 / рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ / рдХреЗрд░реЗрд╕ / рдмреИрдХрдПрдВрдб / tanorflow_backend.py_call (рд╕реНрд╡рдпрдВ, рдЗрдирдкреБрдЯ)
2673 рд▓рд╛рдпрд╛ рдЧрдпрд╛ = self._callable_fn ( array_vals, run_metadata = self.run_metatata)2674 рдФрд░:-> 2675 рдорд┐рд▓реЗ = рд╕реНрд╡ред
2676 рд▓реМрдЯреЗ [: len (self.outputs)]
2677
~ / anaconda3 / envs / tf-gpu / lib / python3.7 / рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ / рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ / рдкрд╛рдпрдерди / рдХреНрд▓рд╛рдЗрдВрдЯ / рд╕реЗрд╢рди __call __ (рд╕реНрд╡рдпрдВ, args, * kwargs) рдореЗрдВ
1437 рд░рд┐рдЯ = tf_session.TF_SessionRunCallable (
1438 self._session._session, self._handle, args, рд╕реНрдерд┐рддрд┐,
-> 1439 run_metadata_ptr)
1440 рдпрджрд┐ run_metadata:
1441 рдкреНрд░реЛрдЯреЛ_рдбрд╛рдЯрд╛ = tf_session.TF_GetBuffer (run_metadata_ptr)
~ / anaconda3 / envs / tf-gpu / lib / python3.7 / рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ / рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ / python / рдлреНрд░реЗрдорд╡рд░реНрдХ / рддреНрд░реБрдЯрд┐рдпрд╛рдБ_impl.py рдореЗрдВ __exit __ (рд╕реНрд╡рдпрдВ, type_arg, value_arg, рдЯреНрд░реЗрд╕рдмреИрдХ_arg)
526 рдХреЛрдИ рдирд╣реАрдВ, рдХреЛрдИ рдирд╣реАрдВ,
527 рдХрдВрдкреЗрдЯрд░реНрд╕ редas_text (c_api.TF_Message (self.status.status)),
-> 528 c_api.TF_GetCode (self.status.status))
529 # рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдерд┐рддрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдореГрддрд┐ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ рдЕрдиреНрдпрдерд╛ рдпрд╣ рдЬреАрд╡рд┐рдд рд░рд╣рддрд╛ рд╣реИ
530 # рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░реЗрд╕рдмреИрдХ рд╕реЗ рдЗрд╕ рд╕реЗ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реИ
UnknownError: рдХрдирд╡рд▓реНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
[[{{рдиреЛрдб conv2d_1 / рдХрдирд╡рд▓реНрд╢рди}}]]
[[{{рдиреЛрдб рдореИрдЯреНрд░рд┐рдХреНрд╕ / рдПрд╕реАрд╕реА / рдореАрди}}]]
рд╣рд╛рдп tydlwav:
рдореИрдВ cuda рдФрд░ cudnn рджреЛрдиреЛрдВ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рджреЛрдиреЛрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрднреА рднреА рдПрдирд╛рдХреЛрдВрдбрд╛ 3 рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдЕрднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ 3 рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдпрд╣ рдХреЙрдиреНрдЯрд┐рдирдо рдХреА рдореБрдЦреНрдп рдХреНрд╖рдорддрд╛ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рднреА рдмрдЧ рд╣реИред рдореИрдВ рдпрд╛ рддреЛ рд╕реНрд╡рддрдВрддреНрд░ рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреНрдпреВрдбрд╛ (рдирд┐рд░рд╛рдзрд╛рд░ рдПрдирд╕реАрд╕реАрд╕реА) рдФрд░ рдХреБрдбрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдпрд╛ рдирдП рдХреЛрдбрд╛ рдпрд╛ рдХреБрдбрдирди рдХреЛ рдХреЛрдВрдбрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреВрдВрдЧрд╛ред
рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░реЗрдВ рдЖрджреЗрд╢:
conda рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░реЗрдВ
рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛: рдХрд┐рдпрд╛ рдЧрдпрд╛
рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд╣рд▓: рдХрд┐рдпрд╛
рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд╛рди: / рдШрд░ / рдорд╛рдЗрдХ / anaconda3 / envs / tf-gpu
рд╣рдЯрд╛рдП рдЧрдП рдРрдирдХ:
- рдХреБрдбрд╛рдЯреБрд▓рдХрд┐рдЯ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрдХреЗрдЬ рдпрд╛рдж рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:
cudatoolkit-10.0.130-0
cudnn-7.3.1-cuda10.0_0
рдХрдкрдЯреА- 10.0.130-0
рдХреЗрд░-2.2.4-0
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 1.13.1-gpu_py37hc158e3b_0
рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ-рдмреЗрд╕-1.13.1-gpu_py37h8d69cac_0
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ-1.13.1-h0d30ee6_0
рдЖрдЧреЗ рдмрдврд╝реЗрдВ ([y] / n)? рдп
рд▓реЗрдирджреЗрди рддреИрдпрд╛рд░ рдХрд░рдирд╛:
рд▓реЗрди-рджреЗрди рдХрд╛ рд╕рддреНрдпрд╛рдкрди: рдХрд┐рдпрд╛ рдЧрдпрд╛
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд▓реЗрдирджреЗрди: рдХрд┐рдпрд╛ рдЧрдпрд╛
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:
рдЬрдм рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛, рддрдм рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ "рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ" рдирд╛рдо рдХрд╛ рдХреЛрдИ рдореИрдбреНрдпреВрд▓ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрд╕рдВрдмрджреНрдзрддрд╛ рд╕рдлрд▓ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреЛрдиреЛрдВ cudatoolkit рдФрд░ cudnn рдЕрднреА рднреА рдПрдирд╛рдХреЛрдВрдбрд╛ 3 рдореЗрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЙрдиреНрдЯрд┐рдирдо рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рджреЛрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдЙрдиреНрд╣реЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдЖрддрд╛ред
/home/anaconda3/pkgs/cudatoolkit-10.0.130-0
/home/anaconda3/pkgs/cudnn-7.3.1-cuda10.0.0_0
рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╣реА рдирд┐рдХрд╛рд▓ рдЪреБрдХреЗ рд╣реИрдВред pkgs
рдХреА рдлрд╛рдЗрд▓реЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреИрд╢ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХреЛрдВрдбрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рд╣реВрдВред рдореИрдВ рдПрдХ RTX 2080, cuda 10.1, cudnn v7.5.1.10 рдФрд░ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ 1.14 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдХрд╛рдо рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╡рд┐рдХрд╛рд╕ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдмреЗрдореЗрд▓ рд╣реИ?
рдХреНрдпрд╛ рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ 1.14 рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдлрд┐рдХреНрд╕ рд╣реЛрдЧрд╛?
рдзрдиреНрдпрд╡рд╛рдж
рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ RTX 20XX рдЯреНрдпреВрд░рд┐рдВрдЧ рд╢реНрд░реГрдВрдЦрд▓рд╛, рдЯреЗрдВрд╕реЛрд░рдлреНрд▓реЛ рдФрд░ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рдмреАрдЪ рд╕рдВрдЧрддрддрд╛ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ RTX 20XX рд╢реНрд░реГрдВрдЦрд▓рд╛ cudnn 7.5.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ, TensorFlow рдХреЗрд╡рд▓ cudnn 7.4 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдирд╛рдХреЛрдВрдбрд╛ рдореЗрдВ рдПрдХ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд 7.3.1 рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╣ рддреАрди рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХреБрд▓ рдмреЗрдореЗрд▓ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, RTX 20XX рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ Ubuntu 16.04 LTS рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХрднреА-рдХрднреА, Ubuntu 16.04 рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред рдУрдПрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рджреЛ рдмреВрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдпреВрдПрд╕рдмреА рд╕реНрдЯрд┐рдХ рд▓рд╛рдиреЗ рдкрдбрд╝реЗред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рджреЛ рдкреАрд╕реА рдХреЛ рдЙрдмрдВрдЯреВ 18.04 рдПрд▓рдЯреАрдПрд╕ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдорд┐рдирд┐рдХреЛрдВрдбрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рддрдм рдореИрдВ рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрд╕реНрдХрд░рдг Tensorflow рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:
Nvidia рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ Jetson TX1 / TX2 рдФрд░ Jetson рдиреИрдиреЛ рдореЛрдмрд╛рдЗрд▓ GPU рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдХрд╕реНрдЯрдо Ubuntu 18.04 LTS рд╣реИред рдПрдирд╡реАрдбрд┐рдпрд╛ рдЕрдкрдиреЗ рдирдП рдЙрддреНрдкрд╛рджреЛрдВ рдЬреИрд╕реЗ рдХрд┐ рдЖрд░рдЯреАрдПрдХреНрд╕ 20XX рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЙрдмрдВрдЯреВ 18.04 рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдирд┐рдЪрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдЙрдмрдВрдЯреВ 20.04 рдХреЗ рд╕рд╛рдеред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреЙрдиреНрдЯрд┐рдирдо рдореЗрдВ рдПрдирд╡реАрдбрд┐рдпрд╛ рдЖрд░рдЯреАрдПрдХреНрд╕ 20 рдПрдХреНрд╕рдПрдХреНрд╕ рдЯреНрдпреВрд░рд┐рдВрдЧ рд╕реАрд░реАрдЬрд╝ рдХреА рдЕрдкрдиреА рдЕрдкрдЧреНрд░реЗрдб рдпреЛрдЬрдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
RTX рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЗрд╕ рд╕рдордп рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЧреИрд░-рдЙрдмрдВрдЯреВ рд╡рд┐рддрд░рдг рдкрд░ рдПрдХ рдХреЛрдВрдбрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ RTX 2070 рдХреЗ рд╕рд╛рде tf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдЕрднреА рднреА рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред Cuda рдФрд░ cudnn рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрдд рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдмрд╕ conda create -n tf python==3.6.8
рд╕рд╛рде рдПрдХ рдирдпрд╛ Python 3.6 рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ conda install tensorflow-gpu
рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдорд╣рд╛рди рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ Tensorflow 1.12.0 CUDA 10.0 рдФрд░ CUDNN 7.4.2.24 рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдореБрдЯреНрдареА рднрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде RTX рдХрд╛рд░реНрдбреНрд╕ рдХреЗ рд╕рд╛рде CNNN рдХреЗ рд╕рд╛рде GPU рдкрд░ cudnn рд╣реИред рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ CUDA 9.0 рдХреЗ рд▓рд┐рдП рдЧрд▓рдд CUDNN рдкреИрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреНрдпрд╛ рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╕рдВрд╕реНрдХрд░рдг RTX2080 рдФрд░ рдЕрдиреНрдп рдЯреНрдпреВрд░рд┐рдВрдЧ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдб рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ?
рд╣рд╛рдп tydlwav:
рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд┐рдирд┐рдХреЛрдВрдбрд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдЬрдЧрд░ рдФрд░ рдЯреЗрдВрд╕реЛрд░рдлрд╝реНрд▓реЛ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐ рд╣реИ: рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдердо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ ......ред
рдХреГрдкрдпрд╛ рдХреЛрдИ рд╣рд▓ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред
рдХреГрдкрдпрд╛ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдЪрд░рдг рджреЗрдЦреЗрдВред
рдЕрдкрдиреЗ рдЧрд╛рдЗрдбрд▓рд╛рдЗрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрдВрд╕реНрдЯрд╛рд▓ рдЕрдЬрдЧрд░ 3.6.8ред
conda create -n tf python == 3.6.8
рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ
conda рд╕рдХреНрд░рд┐рдп tf
рдЕрдкрдиреЗ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ tf рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдХреЛрдВрдбрд╛ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ cudatoolkit рдФрд░ cudnn рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
тАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжред тАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжред
cudatoolkit pkgs / main / linux-64 :: cudatoolkit-10.0.130-0
cudnn pkgs / main / linux-64 :: cudnn-7.3.1-cuda10.0_0
тАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжред тАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжтАжред
1)ред рдмреГрд╣рд╕реНрдкрддрд┐ рдиреЛрдЯрдмреБрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
conda jupyter рдиреЛрдЯрдмреБрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
реи)ред рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдИрдкрд╛рд░реНрдХрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
conda рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
рей)ред Jupyter рдиреЛрдЯрдмреБрдХ рдХреЗ рд╡реЗрдмрдкреЗрдЬ рдореЗрдВ TensorFlow-GPU рдмрдирд╛рдПрдБ
python -m ipykernel install --user --name tf-gpu --display-name "TensorFlow-GPU"
реи)ред TensorFlow-GPU рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдореЗрдиреВ рдореЗрдВ "рдирдпрд╛" рдФрд░ "рдкреЗрдЬ рдореЗрдВ рдЯреЗрдВрд╕реЛрд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ" рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп, рд╕реЗрд▓ рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЗ рд╡реЗрдмрдкреЗрдЬ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╡реЗрдмрдкреЗрдЬ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реВрдЪреАрдмрджреНрдз рд╣реИред
http: // localhost : 8888 / рдиреЛрдЯрдмреБрдХреНрд╕ / рдЕрдирдЯрд╛рдЗрдЯрд▓рдб 3.ipynb? рдХрд░реНрдиреЗрд▓_рдирд╛рдо = tf-gpu?
рдЖрдпрд╛рдд рдХрд░реЗрд╕
keras.datasets рд╕реЗ mnist рдЖрдпрд╛рдд рдХрд░реЗрдВ
keras.models рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
keras.layers рд╕реЗ рдШрдиреЗ, рдбреНрд░реЙрдкрдЖрдЙрдЯ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
keras.layers рд╕реЗ Flatten, MaxPooling2D, Conv2D рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
keras.callbacks рд╕реЗ TensorBoard рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ
(X_train, y_train), (X_test, y_test) = mnist.load_pata ()
X_train = X_train.reshape (60000,28,28,1) .astype ('flo3232)
X_test = X_test.reshape (10000,28,28,1) .astype ('float32)
X_train / = 255
X_test / = 255
n_classes = 10
y_train = keras.utils.to_categorical (y_train, n_classes)
y_test = keras.utils.to_categorical (y_test, n_classes)
рдореЙрдбрд▓ = рдЕрдиреБрдХреНрд░рдорд┐рдХ ()
model.add (Conv2D (32, kernel_size = (3,3), рд╕рдХреНрд░рд┐рдпрдг = 'relu', input_shape = (28,28,1)))
model.add (Conv2D (64, kernel_size = (3,3), рд╕рдХреНрд░рд┐рдпрдг = 'relu'))
model.add (MaxPooling2D (pool_size = (2,2)))
model.add (рдбреНрд░реЙрдкрдЖрдЙрдЯ (0.25))
model.add (рд╕рдкрд╛рдЯ ())
model.add (рдШрдирд╛ (128, рд╕рдХреНрд░рд┐рдпрдг = 'рд░рд┐рд▓реЗ'))
model.add (рдбреНрд░реЙрдкрдЖрдЙрдЯ (0.5))
model.add (рдШрдирд╛ (n_classes, рд╕рдХреНрд░рд┐рдпрдг = 'рд╕реЙрдлреНрдЯрдореИрдХреНрд╕'))
model.compile (рд╣рд╛рдирд┐ = 'рд╢реНрд░реЗрдгреАрдмрджреНрдз_ рд╕рдХрд▓', рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ = 'рдПрдбреИрдо', рдореЗрдЯреНрд░рд┐рдХреНрд╕ = ['рд╕рдЯреАрдХрддрд╛'])
рдЯреЗрдВрд╕реЛрд░_рдмреЛрд░реНрдб = рдЯреЗрдиреНрд╕рд░рдмреЛрд░реНрдб ('./ рд▓реЙрдЧ / рд▓реЗрдиреЗрдЯ-рдПрдордПрдирдЖрдИрдПрд╕рдЯреА -1')
model.fit (X_train, y_train, рдмреИрдЪ_рд╕рд╛рдЗрдЬ = 128, рдпреБрдЧ = 15, рдХреНрд░рд┐рдпрд╛ = 1,)
validation_data = (X_test, y_test), рдХреЙрд▓рдмреИрдХ = [рдЯреИрдВрд╕рд░_рдмреЛрд░реНрдб])
UnknownError: рдХрдирд╡рд▓реНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
[[{{рдиреЛрдб conv2d_1 / рдХрдирд╡рд▓реНрд╢рди}}]]
[[{{рдиреЛрдб рдореИрдЯреНрд░рд┐рдХреНрд╕ / рдПрд╕реАрд╕реА / рдореАрди}}]]
рдзрдиреНрдпрд╡рд╛рдж,
рдорд╛рдЗрдХ
HI tydlwav:
рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХреЗрд░рд╕ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред
conda рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
рдЪреВрдВрдХрд┐ рдХрднреА рд╕реНрдерд╛рдкрдирд╛ рд╕рд╣реА рд╣реИ, рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ Miniconda рдФрд░ RTX20XX рдЯреНрдпреВрд░рд┐рдВрдЧ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдмреАрдЪ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдорд┐рдирд┐рдХреЛрдВрдбрд╛ рдФрд░ рдПрдирд╛рдХреЛрдВрдбрд╛ рдореЗрдВ рдХреНрдпреВрдбрди рдФрд░ рдХреНрдпреВрдбрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд╛рди рд╣реИрдВред
рдпрд╣ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореБрдЭреЗ рд▓рдЧрднрдЧ 10 рдФрд░ cudnn7.3 рдХреЛ рд▓рдЧрднрдЧ рдбреЗрдврд╝ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдореИрдВрдиреЗ рддрдм рд╕реЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣ рд╣рдореЗрд╢рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрднреА рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ pytorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛ред рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╕рдордп рд╣реЛрдЧрд╛ред
рд╣рд╛рдп tydlwav:
рдореИрдВ рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдкрд╛рдЗрдЯреЛрд░реЗрдХред рдЕрдм рдЬрдм Google рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.14 рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдореИрдВ рдирд┐рдореНрди рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.14 рдХреЛ Google рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рдирд┐рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
Google рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ: https://www.tensorflow.org/install/source
рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:
рдХреЙрдирдбрд╛ рдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ рд╣реИ рдЬреЛ 1.0.1 рд╕реЗ 1.13.1 рддрдХ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИред рдмрд┐рд▓реНрдб рдЗрддрдиреЗ рдкреБрд░рд╛рдиреЗ рд╣реИрдВ рдХрд┐ рдмрд┐рд▓реНрдб рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Google TensorFlow рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Nvidia GeForce RTX 20XX (2060 ~ 2080) Truing рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдкрдХрдбрд╝ рдирд╣реАрдВ рд╕рдХреЗред
рдЖрджреЗрд╢:
рдХреЛрдВрдбрд╛ рдЦреЛрдЬ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ
рдЪреИрдирд▓ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ: рдХрд┐рдпрд╛
рдирд╛рдо рд╕рдВрд╕реНрдХрд░рдг рдмрд┐рд▓реНрдб рдЪреИрдирд▓
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ- gpu 1.0.1 py27_4 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ- gpu 1.0.1 py35_4 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-gpu 1.0.1 py36_4 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.1.0 np111py27_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.1.0 np111py35_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.1.0 np111py36_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.1.0 np112py27_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.1.0 np112py35_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.1.0 np112py36_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py27cuda7.5cudnn5.1_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py27cuda7.5cudnn6.0_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py27cuda8.0cudnn5.1_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py27cuda8.0cudnn6.0_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py35cuda7.5cudnn5.1_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py35cuda7.5cudnn6.0_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py35cuda8.0cudnn5.1_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py35cuda8.0cudnn6.0_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py36cuda7.5cudnn5.1_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py36cuda7.5cudnn6.0_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py36cuda8.0cudnn5.1_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.2.1 py36cuda8.0cudnn6.0_0 pkgs / рдореБрдлреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.3.0 0 рдкреАрдХреЗрдЬреА / рдореБрдХреНрдд
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.4.1 0 pkgs / main
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.5.0 0 рдкреАрдХреЗрдЬреА / рдореБрдЦреНрдп
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.6.0 0 pkgs / main
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.7.0 0 рдкреАрдХреЗрдЬреА / рдореБрдЦреНрдп
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.8.0 h7b35bdc_0 pkgs / main
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.9.0 hf154084_0 pkgs / main
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.10.0 hf154084_0 pkgs / main
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.11.0 h0d30ee6_0 pkgs / main
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.12.0 h0d30ee6_0 pkgs / main
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.13.1 h0d30ee6_0 pkgs / main
рд╡реЗ рдкреБрд░рд╛рдиреЗ рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ RTX 2070 рдХреЗ рд╕рд╛рде tf 1.12 рдХреЗ conda рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдирдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрдорддреМрд░ рдкрд░ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ RTX рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЦреЗрд▓ рдореЗрдВ рдХреБрдЫ рдЕрдЬреАрдм рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдореБрджреНрджреЗ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдЬреБрд▓рд╛рдИ рддрдХ рдЖрд░рдЯреАрдПрдХреНрд╕ рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рд╕реНрд░реЛрдд рд╕реЗ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд┐рдд tf рд╕реЗ рдХрд╛рдлрд┐рд▓реЗ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрднреА рдЕрд╕рдлрд▓ рдирд╣реАрдВ рд░рд╣рд╛ (рдпрд╣ рдорд╛рдирдХрд░ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рд╕рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ)ред
рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдпрд╣ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рдХреЗ рд╡рд┐рддрд░рдг рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдпрд╛ рд░реЗрдбрд┐рдЯ рдкрд░ рдПрдХ рдкреЛрд╕реНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдпрд╣рд╛рдВ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд▓реЛрдЧ рдЗрд╕реЗ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗред
рдЖрдкрдХрд╛ рдореБрджреНрджрд╛ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХреНрдпрд╛ рд╣реИред
@chsigg рдЖрдк рдирд┐рджрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ w / CUDNN рд╣реИ рдЬреЛ рдХрд┐ GPU рдореЗрдореЛрд░реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдмрдВрдЯрд┐рдд рд╣реИ, рдореБрдЭреЗ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИред рдмрд╕ per_process_gpu_memory_fraction=0.9
рдмрдЬрд╛рдп 0.95
рдХрд░рдирд╛ рдореЗрд░реЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред
рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЗрд╕реЗ cuDNN рдХреЛ 7.6 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ред
tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above
рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ: 1.13.1
рдХреВрдбрд╛: 10.0
CuDNN: 7.3.1
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреЗрдирдбреЛрдлрд╝реНрд▓реЛ рдФрд░ CuDNN рдХреЛрдирджрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
conda list cudnn
cudnn 7.3.1 cuda10.0_0 anaconda
рдЪреАрдЬреЗрдВ рдЬреЛ рдореИрдВрдиреЗ рдХреАрдВ:
conda remove tensorflow
conda remove cudnn
pip install tensorflow
sudo dpkg -i libcudnn_xxxxx_amd64.deb
рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ@nluehr рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА? рдХреНрдпрд╛ рд╣рдо MinSystemMemory () cuda / cudnn рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЕрд╡рдЧрдд рдХрд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрд╣ рдПрдХ рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐ рд╣реИ, рдпрджрд┐ tf.keras рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВ
config = tf.ConfigProto ()
config.gpu_options.allow_growth = рд╕рдЪ
tf.keras.backend.set_session (tf.Session (config = config))
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднреА рднрд╛рдЧ рдЧрдпрд╛, рдФрд░ @ va-andrew рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ @colinsteidtmann рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛрдЕрд░.рдХреЗрдпрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореИрдВ рдХреЗрд╡рд▓ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ (https://www.tensorflow.org/guide/use_gpu) рджреЗрдЦ рд░рд╣рд╛ рдерд╛, рдФрд░ рдЖрдк рдЗрд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ TF_FORCE_GPU_ALLP_GROWTH рдХреЛ рд╕рддреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рд╡реГрджреНрдзрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдпрд╣ рднреА рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП YMMV (Ubuntu 18.04 рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред
рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдореИрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВ:
Ubuntu 18.04.2 LTS, рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ GeForce RTX 2080 рдЯрд░реНрдмреЛ, NVIDIA рдбреНрд░рд╛рдЗрд╡рд░ 430.26, CUDA 10.0.130, cuDNN 7.4.2.24, рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.13.1, рдкрд╛рдпрдереЗ 3.6ред рдореИрдВ рд╕реНрдкрд╛рдЗрдбрд░ 3.3.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рднреАрддрд░ рд╕реЗ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдЪрд▓рд╛рддрд╛ рд╣реВрдВред
рдореЗрд░реЗ рдкрд╛рд╕ рдЙрд╕реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдПрдХ рджреВрд╕рд░рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдПрдХ рд╣реА рд╕реЗрдЯ рдХреЗ рдмрд╛рдж, рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдЙрд╕ рдорд╢реАрди рдкрд░ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдереАред рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВред
рдореЗрд░реЗ рдкрд╛рд╕ рдареАрдХ рдЙрд╕реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд╛рд▓рд╛ рдПрдХ рддреАрд╕рд░рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЗрд╕рдореЗрдВ 2080 рдХреЗ рдмрдЬрд╛рдп 2080 рддрд┐рд╡рд╛рд░реА рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдПрдХ рд╣реА рд╕реЗрдЯ рдХреЗ рдмрд╛рдж рд╕реЗрдЯ рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рд╕реЗ рдЗрдиреНрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реАрдВ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░, рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рдерд╛ред
рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ CUDA, cuDNN рдФрд░ рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдХреБрдЫ рд╕рдВрдШрд░реНрд╖реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ; рдпрд╣ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХреЗ рдореЙрдбрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ; рдореИрдВрдиреЗ рдХреЗрд╡рд▓ RTX 2060, 2070 рдФрд░ 2080 рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рджреЗрдЦрд╛ рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЕрд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИред
рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЗрд╕реЗ cuDNN рдХреЛ 7.6 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ред
tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above
рдЯреЗрдиреНрд╕рдлрд╝реНрд▓реЛрдлрд╝: 1.13.1
рдХреВрдбрд╛: 10.0
CuDNN: 7.3.1рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреЗрдирдбреЛрдлрд╝реНрд▓реЛ рдФрд░ CuDNN рдХреЛрдирджрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
conda list cudnn
cudnn 7.3.1 cuda10.0_0 anaconda
рдЪреАрдЬреЗрдВ рдЬреЛ рдореИрдВрдиреЗ рдХреАрдВ:
1. Uninstalled conda tensorflow. `conda remove tensorflow` 2. Uninstall conda cuDNN `conda remove cudnn` 3. Install tensorflow with pip `pip install tensorflow` 4. Download corresponding cuDNN 7.6 runtime deb file from https://developer.nvidia.com/cudnn 5. Install it with `sudo dpkg -i libcudnn7_-1+cuda9.0_amd64.deb`
@ alexforever86 рдЖрдкрдиреЗ рдЕрдкрдирд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ GPU рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ CPU рдирд╣реАрдВ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ cuDNN рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг), рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рдХрд░рддрд╛ рд╣реВрдВред рдЖрдк "рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ "рдкрд┐рдк рдЗрдВрд╕реНтАНрдЯреЙрд▓ рдЯреЗрдВрд╕реЛрд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдирд╣реАрдВ? рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ рдЖрдк CUDA 10 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪреАрдмрджреНрдз cuDNN рдбрд┐рдмреЗрдЯ cuda9.0 рдХреЗ рд▓рд┐рдП рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдпрд╣ рд╕рдмреВрдд рдирд╣реАрдВ рд╣реИ рдХрд┐ cuDNN 7.6 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред
@ synapse8 рдЖрдк рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-gpu рдФрд░ cuDNN рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рд╣реИрдВред рдореИрдВ рдЕрдм рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдЕрдм рд╡рд┐рд╡рд░рдг рдпрд╛рдж рдирд╣реАрдВ рд╣реИред рд╡реИрд╕реЗ рднреА, рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВред
pip show tensorflow-gpu
рдирд╛рдо: рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ
рд╕рдВрд╕реНрдХрд░рдг: 1.13.1
nvidia-smi
NVIDIA-SMI 430.26 рдЪрд╛рд▓рдХ рд╕рдВрд╕реНрдХрд░рдг: 430.26 CUDA рд╕рдВрд╕реНрдХрд░рдг: 10.2
sudo apt search cudnn | grep installed
libcudnn7 / рдЕрдм 7.6.0.64-1 + cuda10.0 amd64
@ alexforever86 рдЕрдм рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрдк рдЕрднреА рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ? (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ cuda10, 410 рдбреНрд░рд╛рдЗрд╡рд░, 7.6 cudnn рдФрд░ TF-gpu 1.14 (рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред
@ robzor92 рдореИрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.13 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░, рдореИрдВрдиреЗ рдЕрднреА рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1.14 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ (рдореЗрд░реЗ рд▓рд┐рдП)ред рдореИрдВ рдЕрднреА рднреА рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЕрднреА рднреА 'рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдВ' рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ (рдлрд┐рд░ рд╕реЗ, рдЗрддрдирд╛ рдмрдбрд╝рд╛ рд╕реМрджрд╛ рдирд╣реАрдВ)ред
рдЖрдк рдХрд┐рд╕ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
@ synapse8 рдиреЗ GTX 1070 рдХреЗ рд╕рд╛рде
@ synapse8 рдореИрдВрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреНрд░рд┐рдПрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕реИрдВрдкрд▓ рдХреЛрдб рдХреЛ рдЕрднреА-рдЕрднреА рдЖрдЬрд╝рдорд╛рдпрд╛, рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдпрд╣ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ RTX рд▓рд╛рдЗрди рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ GTX 1050Ti рдкрд░ TF 1.13.1 рдХреЗ рд╕рд╛рде рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреА рдереАред рдЙрд╕реА рдбреНрд░рд╛рдЗрд╡рд░ / рдХреНрдпреВрдбрд╛ / рдХреЙрдбрди рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред
@ robzor92 рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ 1050Ti рдХреА рд╕рдорд╕реНрдпрд╛ рдЫреЛрдЯреЗ VRAM рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╣реИред RTX рдХрд╛рд░реНрдб рдЗрд╕рдХрд╛ рдореВрд▓ CNN MNIST рдореЙрдбрд▓ рдкрд░ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд░рд╡реАрдПрдХреНрд╕ рдХрд╛рд░реНрдбреЛрдВ рдкрд░ рд╡реАрдЖрд░рдПрдПрдо рдЖрд╡рдВрдЯрди рдХреА рдПрдирд╡реАрдЖрдИрдбреАрдЖрдИрдП рдХреА рдЯреНрд╡рд┐рдХрд┐рдВрдЧ рд╣реИ рдЬрд┐рд╕рдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рдореБрдЭреЗ рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ 1.14.0 рдФрд░ RTX2080 рдкрд░ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдореИрдВ рдХрдирд╡рд▓реНрд╢рди рд▓реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
2019-07-14 21:48:13.041683: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-07-14 21:48:13.064262: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3600000000 Hz
2019-07-14 21:48:13.064955: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55abe99bcd30 executing computations on platform Host. Devices:
2019-07-14 21:48:13.064967: I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor device (0): <undefined>, <undefined>
2019-07-14 21:48:13.066219: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcuda.so.1
2019-07-14 21:48:13.153748: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-14 21:48:13.154195: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55abebb44f00 executing computations on platform CUDA. Devices:
2019-07-14 21:48:13.154207: I tensorflow/compiler/xla/service/service.cc:175] StreamExecutor device (0): GeForce RTX 2080, Compute Capability 7.5
2019-07-14 21:48:13.154317: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-14 21:48:13.154707: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1640] Found device 0 with properties:
name: GeForce RTX 2080 major: 7 minor: 5 memoryClockRate(GHz): 1.71
pciBusID: 0000:01:00.0
2019-07-14 21:48:13.154845: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudart.so.10.0
2019-07-14 21:48:13.155504: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcublas.so.10.0
2019-07-14 21:48:13.156112: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcufft.so.10.0
2019-07-14 21:48:13.156265: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcurand.so.10.0
2019-07-14 21:48:13.157040: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcusolver.so.10.0
2019-07-14 21:48:13.157646: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcusparse.so.10.0
2019-07-14 21:48:13.159661: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
2019-07-14 21:48:13.159730: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-14 21:48:13.160165: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-14 21:48:13.160542: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1763] Adding visible gpu devices: 0
2019-07-14 21:48:13.160559: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudart.so.10.0
2019-07-14 21:48:13.161120: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1181] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-07-14 21:48:13.161129: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1187] 0
2019-07-14 21:48:13.161133: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1200] 0: N
2019-07-14 21:48:13.161331: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-14 21:48:13.161730: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1005] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-14 21:48:13.162120: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6794 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080, pci bus id: 0000:01:00.0, compute capability: 7.5)
2019-07-14 21:48:13.497639: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
2019-07-14 21:48:14.077729: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2019-07-14 21:48:14.080055: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
Traceback (most recent call last):
File "test.py", line 16, in <module>
print(model.predict(test_inputs))
File "/home/yudai/.local/share/virtualenvs/pipenv_practice-DKmRVcs4/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 1078, in predict
callbacks=callbacks)
File "/home/yudai/.local/share/virtualenvs/pipenv_practice-DKmRVcs4/lib/python3.7/site-packages/tensorflow/python/keras/engine/training_arrays.py", line 363, in model_iteration
batch_outs = f(ins_batch)
File "/home/yudai/.local/share/virtualenvs/pipenv_practice-DKmRVcs4/lib/python3.7/site-packages/tensorflow/python/keras/backend.py", line 3292, in __call__
run_metadata=self.run_metadata)
File "/home/yudai/.local/share/virtualenvs/pipenv_practice-DKmRVcs4/lib/python3.7/site-packages/tensorflow/python/client/session.py", line 1458, in __call__
run_metadata_ptr)
tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
(0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node conv2d/Conv2D}}]]
(1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node conv2d/Conv2D}}]]
[[flatten/Reshape/_7]]
0 successful operations.
0 derived errors ignored.
рдореИрдВрдиреЗ config.gpu_options.allow_growth = True
рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рдореЗрд░реА рдорджрдж рдХрд░реЗред
рдзрдиреНрдпрд╡рд╛рджред
RTX 2070 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛
рдореИрдВрдиреЗ рдЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЕрд╡рд▓реЛрдХрди рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ:
рдореИрдВ рднреА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ Failed to get convolution algorithm
рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
ред
рд╕рд┐рд╕реНрдЯрдо: рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреНрд╡рд╛рдбреНрд░реЛ P2000, рдЙрдмрдВрдЯреВ 18.04, tf 1.13.1, cuda10, cudnn 7.4.2 рдХреЗ рд╕рд╛рде рд▓реИрдкрдЯреЙрдк рдорд╢реАрди
рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ allow_growth
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИред
рджрд┐рд▓рдЪрд╕реНрдк: рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдорд┐рд▓рддрд╛ рд╣реИ tf.layers.conv...
рд▓реЗрдХрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ tf.keras.layers....
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд┐рдирд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП allow_growth
, рдЗрд╕рд▓рд┐рдП keras рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдореЗрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ tf рдХреЛрдбред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рд╕реВрдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрд╕реЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП tf.layers рд╕реЗ рдЪрд┐рдкрдХреЗ рд╣реБрдП рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЪрд░ рд╕реНрдХреЛрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЖрд╕рд╛рди рд╡рдЬрди рд╕рд╛рдЭрд╛рдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдХреЗрд░рд╕ рджреНрд╡рд╛рд░рд╛ рджреБ: рдЦрдж рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред
@ DavidS3141 рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЗрд╡рд▓ рдХрдирдлрд░реНрдореЗрд╢рди рд▓реЗрдпрд░ tf.layers рдФрд░ tf.keras.layers рджреЛрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ...
рдЬрдм рдореИрдВ pytorch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ torch.cuda.is_available
рд╕рддреНрдп рд╣реИ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рдХрдирд╡рд▓реНрд╢рди рд▓реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
рдореИрдВ @ рд╣рдпрд╛рд╢реА-рдпреБрджрд╛рдИ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ: рдПрдордПрдХреНрд╕рдиреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдпрд╣реА рд╕рдЪ рд╣реИред рдЬрдм Tensorflow рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдкрд╣рдЪрд╛рди рд╕рдВрдмрдВрдзреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡рд╛рддрд╛рд╡рд░рдг:
RTX2080
рдЙрдмрдВрдЯреВ 18.10
рдЪрд╛рд▓рдХ 430.26
CUDA 10.0 (10.1 рднреА, рдЬреЛ рдЕрднреА рддрдХ TF рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ)
cuDNN 7.6.1
mxnet-cu100 1.4.1
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.14.0
рд╣реЗ рджреЛрд╕реНрддреЛрдВ, рдореИрдВ рдЕрдкрдиреЗ CSM рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП COCO рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ ResNet50 рдмреИрдХрдмреЛрди рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рд╕реЗ рд╡рдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ: рдЕрдЬреНрдЮрд╛рдд: рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред
--рдмреИрдЪ-рдЖрдХрд╛рд░ eps - рд╕реНрдЯреЗрдк реп - рдкреЗрдкреНрд╕ рек
--snapshot- рдкрд╛рде рд╕реНрдиреИрдкрд╢реЙрдЯ --tensorboard-dir рдЯреЗрдВрд╕рд░рдмреЛрд░реНрдб
csv рдбреЗрдЯрд╛рд╕реЗрдЯ / train.csv рдбреЗрдЯрд╛рд╕реЗрдЯ / classes.csvI рдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдирд┐рдореНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛:
рдЕрдЬрдЧрд░
рдЖрдпрд╛рдд рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ
Tetorflow.compat.v1 рдЗрдВрдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдкреНрд░реЛрдЯреЛ рд╕реЗ
Tetorflow.compat.v1 рд╕реЗ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ рдЖрдпрд╛рдд рдХрд░реЗрдВ
config = configProto ()
config.gpu_options.allow_growth = рд╕рдЪ
рд╕рддреНрд░ = рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ (рд╡рд┐рдиреНрдпрд╛рд╕ = рд╡рд┐рдиреНрдпрд╛рд╕)
рд╕рд╛рде рд╣реА рд╕рд╛рде
tf рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛
config = tf.ConfigProto ()
config.gpu_options.allow_growth = рд╕рдЪ
session = tf.Session (config = config) рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореЗрд░реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рдЙрдмрдВрдЯреВ 16.0
рдХреВрдбрд╛: 10.0
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ 1.14.0
рддреНрд░реБрдЯрд┐:
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛрдлрд╝реНрдереЛрди.рдлрд╝реНрд░рд╛рдорд╡рд░реНрдХ.errors_impl.UnognError: 2 рд░реВрдЯ рддреНрд░реБрдЯрд┐ (s) рдорд┐рд▓реАрдВред тФВ | рдХреЛрдИ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдорд┐рд▓реА |
(0) рдЕрдЬреНрдЮрд╛рдд: рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА because + ------------------------------- ---------------------------------------------- +
рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред тФВ
[[{{рдиреЛрдб conv1 / conv}}]] conv
[[рдиреБрдХрд╕рд╛рди / рдЬреЛрдбрд╝ / _2377]] /
(1) рдЕрдЬреНрдЮрд╛рдд: рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА u
рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред тФВ
[[{{рдиреЛрдб conv1 / conv}}]] conv
0 рд╕рдлрд▓ рдСрдкрд░реЗрд╢рдиред тФВ
0 рд╡реНрдпреБрддреНрдкрдиреНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ред тФВ
рдПрдХ рд╕рдХреНрд░рд┐рдп рдЕрдкрд╡рд╛рдж рдХреЗ рдмрд┐рдирд╛ рдмреБрд▓рд╛рдпрд╛ рдЯрд░реНрдорд┐рдиреЗрдЯ
рдирд┐рд░рд╕реНрдд (рдХреЛрд░ рдбрдВрдк)
рдХрд┐рд╕реА рднреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдпрд╣рд╛рдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ред Allow_growth рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА MNIST рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдорд┐рд▓рддреА рд╣реИред
рдпрд╣рд╛рдВ RTX2060 рдореЛрдмрд╛рдЗрд▓ред
рд╕рдорд╕реНрдпрд╛ r2.0 рд╢рд╛рдЦрд╛ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдЯреАрдПрдл 1.4 рдХреЛ рдХреЛрдВрдбрд╛ (рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
@ рд╣рдпрд╛рд╢реА-рдпреБрджрд╛рдИ
рдореИрдВрдиреЗ config.gpu_options.allow_growth = True рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рд╕рдЯреАрдХ рдЖрджреЗрд╢ рдХреНрдпрд╛ рдереЗ? рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рдЕрд▓рдЧ рд╣реИ ...
config = tf.ConfigProto ()
config.gpu_options.allow_growth = рд╕рдЪ
tf.keras.backend.set_session (tf.Session (config = config))
@ synapse8 рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдирддреАрдЬрд╛ рд╡рд╣реА рдирд┐рдХрд▓рд╛ред
рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдПрдирд╡реАрдбрд┐рдпрд╛-рдбреЙрдХрдЯрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдХрд┐ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг 3.5 рд╣реИред
https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/running.html#running
рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрдЬрдЧрд░ 3.6.8 рдФрд░ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ 1.12.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдПрдирд╛рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
conda create -n <virtual env name> python=3.6.8
conda install tensorflow-gpu==1.12.0
conda install cudnn==7.3.1 # By default, cudnn7.6 is installed but it causes the error
рдореИрдВрдиреЗ CUDA-10.1 рдФрд░ CUDNN-7.6.2.4 рдХреЗ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рднрд╡рди tf-2.0.0-beta1 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рдХрдЯ рд╣реБрдИред
рдЖрдк рдпрд╣рд╛рдБ tf-gpu рдкреИрдХреЗрдЬ рдФрд░ tf- рдмреЗрд╕ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП docker рдЪрд┐рддреНрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
https://github.com/edowson/docker-tensorflow
рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп рдПрдирд╛рдХреЛрдВрдбрд╛ рдЪреИрдирд▓ рдореЗрдВ cudnn==7.6.2
ред
рд╡рд┐рдВрдбреЛрдЬ 7, рдиреЗ рдПрдХ рдирдИ рдорд╢реАрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХрд╛рдлреА рджреЗрд░ рддрдХ Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
рджреАрд╡рд╛рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рдореЗрд░реЗ рд╕рд┐рд░ рдХреЛ рдзрд░рд╛рд╢рд╛рдпреА рдХрд┐рдпрд╛ред
Reinstalls, рдЗрд╕ рдФрд░ рдЕрдиреНрдп рдзрд╛рдЧреЗ рдореЗрдВ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп cudnn64_7.dll
рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг CUDNN_STATUS_INTERNAL_ERROR
рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА, рдореИрдВрдиреЗ dll рдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ред рддреНрд░реБрдЯрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп CUDNN NOT INSTALLED
рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рдереА, рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЦреЛрд▓ рджрд┐рдпрд╛ред
рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ рдпрд╛ рдХреИрд╕реЗ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд░рддрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реЗрдХрдВрдб рд▓реЗрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ tf.Session рдХреЛ рджреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реБрдИ рдереА
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# several lines of code later...
sess = tf.Session(config=config)
рд╢рд╛рдпрдж рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдмрд╕ "allow_growth = True" рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ
rtx 2080ti, ubuntu18.04, cuda9.0, cudnn7, tf1.9
config = tf.ConfigProto ()
config.gpu_options.allow_growth = рд╕рдЪ
рд╕рддреНрд░ = tf.Session (рд╡рд┐рдиреНрдпрд╛рд╕ = рд╡рд┐рдиреНрдпрд╛рд╕)
рдпрд╣ cudnn рд╣реИрдВрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП GPU рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдЕрдВрд╢ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ per_process_gpu_memory_fraction
рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдореЗрдореЛрд░реА рдЕрдВрд╢ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдХрдо рдХрд░рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред
> sess_config = tf.ConfigProto(gpu_options =
> tf.GPUOptions(per_process_gpu_memory_fraction=0.7),
> allow_soft_placement = True)
>
> with tf.Session(config=sess_config) as sess:
> sess.run([whatever])
рдЕрдкрдиреА рд╕реНрдореГрддрд┐ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЫреЛрдЯреЗ рдЕрдВрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред (рдХреЛрдб рдореЗрдВ, рдореИрдВ 0.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЖрдк 0.3 рдпрд╛ рдЙрд╕рд╕реЗ рднреА рдЫреЛрдЯреЗ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрдм рддрдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рди рдорд┐рд▓реЗ, рдпрд╣ рдЖрдкрдХреА рд╕реАрдорд╛ рд╣реИред)
рдЗрд╕реЗ рдЕрдкрдиреЗ tf.Session()
рдпрд╛ tf.train.MonitoredTrainingSession()
рдпрд╛ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ sv.managed_session()
рдХреЗ рд▓рд┐рдП рдкрд╛рд╕ рдХрд░реЗрдВред
рдпрд╣ рдЖрдкрдХреЗ GPU рдХреЛ рдЖрдкрдХреЗ TensorFlow рдХреЛрдб рдХреЗ рд▓рд┐рдП cudnn рд╣реИрдВрдбрд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдБ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ config.gpu_options.allow_growth = True
рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TF 2.0 рдореЗрдВ рдирдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ:
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
# Currently, memory growth needs to be the same across GPUs
try:
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
except RuntimeError as e:
print(e)
рдЗрд╕ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдФрд░ TF 2.0 RC1 рдХреЗ рд╕рд╛рде, рддреНрд░реБрдЯрд┐ рдЕрдм рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, 20XX рдПрдирд╡реАрдбрд┐рдпрд╛ рдЬреАрдкреАрдпреВ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреАрдПрдл 2.0 рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред
рдореИрдВ TF1.4 рдкрд░ 1080Ti рдФрд░ TitanX рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ рдФрд░ @ va-andrew рдФрд░ @oscarlinux рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдиреЗ рджрд┐рди рдмрдЪрд╛ рд▓рд┐рдпрд╛! рдЬреЛ рдореБрдЭреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд╛рдЗрдЯреЛрд░рдЪ рдореЗрдВ рдХреНрдпреЛрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдХрднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╡рд╣рд╛рдБ рдЕрднреА рднреА pf рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ ppl рд╣реИрдВ .... рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрднреА рднреА рдЗрд╕ рджрд░реНрдж рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЬрдм рднреА рдореИрдВ рдЙрдирдХреЗ рдХреЛрдбрдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ ... рд╢рд╛рдпрдж рдпрд╣ ONNX рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЦреЗрд▓рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдкреАрдЖрдИ рдФрд░ рдХреЛрдб рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИрдВред
рдЙрдмрдВрдЯреВ рез 18
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ 2.0
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-рдЬреАрдкреАрдпреВ реи.реж
GeForce RTX 2070
рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХреЛрдбред
import tensorflow as tf
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.compat.v1.Session(config=config)
рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред (TF-GPU 2.0, Windows 10, GeForce RTX 2070)
physical_devices = tf.config.experimental.list_physical_devices('GPU')
assert len(physical_devices) > 0, "Not enough GPU hardware devices available"
tf.config.experimental.set_memory_growth(physical_devices[0], True)
рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛рдкреЙрдЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ:
rtx 2080ti, ubuntu18.04, cuda10.0, cudnn7
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ tf1.14 рдФрд░ 1.15rc3 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
@ w4nderlust , 1.14 рдФрд░ 1.15 рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рддреНрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рдХрд▓реНрдк config.gpu_options.allow_growth = True
рд╕реЗрдЯ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдХреНрдпрд╛ рдЖрдк рдЬреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рд╕рд┐рд░реНрдл tf.config.experimental
рддрдВрддреНрд░ рд╣реИ?
@ w4nderlust , 1.14 рдФрд░ 1.15 рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рддреНрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рдХрд▓реНрдк
config.gpu_options.allow_growth = True
рд╕реЗрдЯ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдХреНрдпрд╛ рдЖрдк рдЬреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рд╕рд┐рд░реНрдлtf.config.experimental
рддрдВрддреНрд░ рд╣реИ?
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдореИрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ config.gpu_options.allow_growth = True
рдмрд┐рдирд╛ рдпрд╣ рдЕрднреА рднреА 1.14 рдФрд░ 1.15rc3 рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ config.gpu_options.allow_growth = True
рд╕реЗ рдмреЗрд╣рддрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛ред
рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП (_RTX 2070_, docker рдХреА рдЫрд╡рд┐ _tensorflow: 1.15.0-gpu-py3_), рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ _CUDNN_STATUS_INTERNAL_ERROR_ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЕрднреА рднреА рд╕рдВрдкреВрд░реНрдг GPU рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ ред
рдпрд╣ рдмрдбрд╝реЗ рдореЙрдбрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬреЛ allow_growth
рдореЛрдб рдореЗрдВ рдореЗрдореЛрд░реА рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рддрдм рдлрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдкреВрд░реА рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
RTX рдкрд░ рд╕рдВрдкреВрд░реНрдг рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
config.gpu_options.per_process_gpu_memory_fraction = 1.0
RTX рдкрд░ рд╕рдВрдкреВрд░реНрдг рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
config.gpu_options.per_process_gpu_memory_fraction = 1.0
@PoloShock
рдореИрдВрдиреЗ TF 2.0 рдХреЗ рд╕рд╛рде рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
Ubuntu18.04, RTX 2080, CUDA10, cudnn 7.6ред
TF 2.0 рдХреЗ рд▓рд┐рдП GPU рдореЗрдореЛрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред
gpus = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_virtual_device_configuration(gpus[0], [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=1024)]
@nluehr рдХреНрдпрд╛ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХреЗрд╡рд▓ RTX рдкрд░ рдХреНрдпреЛрдВ
рдореЗрд░реЗ рд▓рд┐рдП рд╕реАрдзреЗ рдпрд╣ рдбреАрдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрд░рдЯреАрдПрдХреНрд╕ рдЬреАрдкреАрдпреВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред
@sanjoy рдореИрдВ рдПрдХреАрдХреГрдд gpu рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред TensorFlow рдЪрд▓рд╛рддреЗ рд╕рдордп рдореЗрд░реЗ рдПрдХрд▓ RTX gpu рдкрд░ рдХреЛрдИ рдЕрдиреНрдп рдРрдк рдирд╣реАрдВред
рдореИрдВрдиреЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 2.0 рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.compat.v1.Session(config=config)
рдпрд╣ рдореЗрд░реЗ rtx2080 рдкрд░ cudnn рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рдореЗрд░реЗ 1050Ti рдЬрд┐рддрдирд╛ рддреЗрдЬрд╝ рд╣реИ!
рд╕реАрдПрдирдПрди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рджреЗрддреЗ рд╕рдордп:
Tue Nov 12 19:22:35 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.26 Driver Version: 440.26 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 2080 Off | 00000000:2D:00.0 Off | N/A |
| 0% 37C P2 75W / 265W | 2904MiB / 7979MiB | 27% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1026 G /usr/lib/Xorg 200MiB |
| 0 6420 G cinnamon 43MiB |
| 0 21073 C /home/clementpoiret/anaconda3/bin/python 2647MiB |
+-----------------------------------------------------------------------------+
рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
gpus = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_virtual_device_configuration(gpus[0], [tf.config.experimental.VirtualDeviceConfiguration(memory_limit=7000)]
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдмрд┐рдирд╛ allow_growth рдореБрдЭреЗ cudnn рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдФрд░ рд╡реИрд╕реЗ рднреА рдореЗрд░рд╛ RTX рдХреЗрд╡рд▓ 3Gb рдпрд╛ рдореЗрдореЛрд░реА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдХреЛрдИ рдЙрдкрд╛рдп ?
рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА
gpus = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(gpus[0], True)
tf.config.experimental.set_virtual_device_configuration(
gpus[0],
[tf.config.experimental.VirtualDeviceConfiguration(memory_limit=7900)])
рд▓реЗрдХрд┐рди cudnn рдЕрднреА рднреА рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рд░рд╣рд╛ рд╣реИ
рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ 1.15.0-py3-gpu Docker рдЫрд╡рд┐ (Ubuntu 18.04) рджреЛ рдЯрд╛рдЗрдЯрди V GPUs (@sanjoy) рдХреЗ рд╕рд╛рде - рдЖрд░рдЯреАрдПрдХреНрд╕ рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рдореЗрд░реЗ GPU0 рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ GPU0 рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП Xorg рдФрд░ рд╕реВрдХреНрддрд┐-рд╢реИрд▓ рд╣реИ рдЬрдмрдХрд┐ GPU1 рдореЗрдВ рдХреЗрд╡рд▓ GPU рдореЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдЬрдЧрд░ рд╣реИ рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рднреА рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд░реБрдХ-рд░реБрдХ рдХрд░ рд╣реИ - рдХрднреА-рдХрднреА рдореИрдВ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕реЗ рдЙрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд╕рдорд╛рди рдХреЛрдб рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдКрдВрдЧрд╛, рдлрд┐рд░ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрд╛ рдирд╣реАрдВред
рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЗрд░рд╕ рдмреИрдХрдПрдВрдб рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
allow_growth_session = tf.Session(config=config)
tf.keras.backend.set_session(allow_growth_session)
рджреЛрдиреЛрдВ GPU рдкрд░ рдореЗрд░реЗ nvidia-smi рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.26 Driver Version: 440.26 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 TITAN V Off | 00000000:01:00.0 On | N/A |
| 46% 63C P2 51W / 250W | 7936MiB / 12065MiB | 31% Default |
+-------------------------------+----------------------+----------------------+
| 1 TITAN V Off | 00000000:02:00.0 Off | N/A |
| 52% 70C P2 131W / 250W | 12014MiB / 12066MiB | 60% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1564 G /usr/lib/xorg/Xorg 56MiB |
| 0 1607 G /usr/bin/gnome-shell 58MiB |
| 0 2428 G /usr/lib/xorg/Xorg 442MiB |
| 0 2574 G /usr/bin/gnome-shell 289MiB |
| 0 3292 G ...p/pycharm-professional/167/jbr/bin/java 12MiB |
| 0 6794 G anki 60MiB |
| 0 10336 G /usr/lib/firefox/firefox 6MiB |
| 0 16986 C python 6981MiB |
| 1 4057 C python 12001MiB |
+-----------------------------------------------------------------------------+
рдореИрдВ TF 2.0 conda рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд @clementpoiret рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИред allow_growth
рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рдмрд╣реБрдд рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЯреАрдПрдл 1.x рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдерд╛ рдЙрд╕рд╕реЗ рднреА рдзреАрдорд╛ ... рдПрдЧрд░ рдкрд╣рд▓реЗ рдЙрд╣?
@clementpoiret рдФрд░ @EKami, рдпрд╣ рдЕрдкрдиреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдиреЗ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХреА рдЬрдЧрд╣ config.gpu_options.allow_growth = True
рдХреЗ рд╕рд╛рде config.gpu_options.per_process_gpu_memory_fraction = 0.8
? рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рдЕрдВрд╢ рдЖрдкрдХреЗ gpu рдХрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
@ synapse8 рдореБрдЭреЗ ts.config.experimental рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 2.0 рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХреБрдЫ рд╕рдорд╛рди рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ?
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдореЗрдореЛрд░реА рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рд░рд╣реА рд╣реИ:
import subprocess
import tensorflow as tf
def get_gpus_memory():
"""Get the max gpu memory.
Returns
-------
usage: list
Returns a list of total memory for each gpus.
"""
result = subprocess.check_output([
"nvidia-smi", "--query-gpu=memory.total",
"--format=csv,nounits,noheader"
]).decode("utf-8")
gpus_memory = [int(x) for x in result.strip().split("\n")]
return gpus_memory
def setup_gpus(allow_growth=True, memory_fraction=.9):
"""Setup GPUs.
Parameters:
allow_growth (Boolean)
memory_fraction (Float): Set maximum memory usage, with 1 using
maximum memory
"""
gpus = tf.config.experimental.list_physical_devices("GPU")
if gpus:
try:
# Currently, memory growth needs to be the same across GPUs
for i, gpu in enumerate(gpus):
memory = get_gpus_memory()[i]
tf.config.experimental.set_memory_growth(gpu, allow_growth)
# Setting memory limit to max*fraction
tf.config.experimental.set_virtual_device_configuration(
gpu, [
tf.config.experimental.VirtualDeviceConfiguration(
memory_limit=memory * memory_fraction)
])
logical_gpus = tf.config.experimental.list_logical_devices(
"GPU")
print(len(gpus), "Physical GPUs,", len(logical_gpus),
"Logical GPUs")
except RuntimeError as e:
# Memory growth must be set before GPUs have been initialized
print(e)
рдЗрд╕ рддрд░рд╣ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ setup_gpus(True, .9)
рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
@ рдХреНрд▓реЗрдореЗрдВрдЯрдкреЛрдЗрд░реЗрд░реНрдЯ : рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ tf.config.experimental.set_memory_growth
рдХреЙрд▓ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ tf.config.experimental.set_virtual_device_configuration
рдЙрд╕ рдЭрдВрдбреЗ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ GPU рдореЗрдореЛрд░реА рдХреЛ рд╕реНрд▓рд╛рдЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЛ рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ RTX рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рдпрд╛ рдЯреАрдПрдл 2.0ред
рдЬреЛрдбрд╝рдирд╛:
_from tanorflow.compat.v1 рдЗрдВрдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдкреНрд░реЛ
Tetorflow.compat.v1 рд╕реЗ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ рдЖрдпрд╛рдд рдХрд░реЗрдВ
config = configProto ()
config.gpu_options.allow_growth = рд╕рдЪ
рд╕рддреНрд░ = рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ (config = config) _
"Cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATUS_INTERNAL_ERROR" рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
nvidia-smi
| NVIDIA-SMI 430.50 Driver Version: 430.50 CUDA Version: 10.1 |
| 0 GeForce GT 1030
| 49% 67C P0 N/A / 30W | 1957MiB / 2000MiB | 94%
python -c 'import tensorflow as tf; print(tf.__version__)'
1.14.0
рдпрд╣ NVIDIA рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХрддрдо рд╕рдиреНрдирд┐рд╣рд┐рдд рдмреНрд▓реЙрдХ рдЖрд╡рдВрдЯрди рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЬрд╣рд╛рдБ рдореЗрдореЛрд░реА рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рд▓реЗрдХрд┐рди рдЫреЛрдЯреЗ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдареАрдХ рд╣реИ?
рдирдорд╕реНрддреЗ,
рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд░реВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рд╣рд╛рдереЛрдВ рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реИ?
рдПрдХ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ MinSystemMemory
cuDNN рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдРрд╕рд╛ рд╕реЗрдЯрдЕрдк рд╡рд╛рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рддреЛ MinSystemMemory
рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓реЙрдЧрд┐рдВрдЧ (рд╕реНрдерд╛рдиреАрдп рдкреИрдЪ рдХреЗ рд░реВрдк рдореЗрдВ) рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдХреНрдпрд╛ рдЬрд╛рджреВ 0.05
рд╕рдВрдЦреНрдпрд╛ MinSystemMemory
рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ?
@sanjoy рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ MinSystemMemory рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдпрд╛ "рдореИрдЬрд┐рдХ 0.05 рдирдВрдмрд░ рд╕реЗрдЯ рдХрд░рдиреЗ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдЬрд╛рдКрдБрдЧрд╛? рдореИрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП cuda 9.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред
@odinsbane рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рд╕реЗ TensorFlow рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдореИрдВ рдиреАрдЪреЗ рд╕реБрдЭрд╛рддрд╛ рд╣реВрдВред
рдкрд╣рд▓рд╛ рдХрджрдо LOG(INFO)
рдпрд╛ std::cerr
рд▓рд╛рдЗрдиреЛрдВ рдХреЛ MinSystemMemory
available_memory
рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рд╣реИ рдФрд░ MinSystemMemory
рд╕реЗ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдХреНрдпрд╛ available_memory
nvidia-smi
рдкреНрд░рд┐рдВрдЯ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ? рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рд╕реНрдореГрддрд┐ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ?
рджреВрд╕рд░реА рдмрд╛рдд, рдХреНрдпрд╛ 0.05
рдореИрдЬрд┐рдХ рдирдВрдмрд░ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╣рддреЗ рд╣реИрдВ, 0.07
рдмрд┐рд▓реНрдХреБрд▓ рднреА рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?
рдпрд╣ рдПрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!
from keras.backend.tensorflow_backend import set_session
$ import tensorflow as tf
$ config = tf.ConfigProto()
$ config.gpu_options.allow_growth = True
$ config.log_device_placement = True
$ sess = tf.Session(config=config)
$ set_session(sess)
рд╣рдо рдЕрдкрдиреЗ RTX 2070 (Ubuntu 18.04, TF2) рдкрд░ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдордиреЗ CUDA 10.0 рдФрд░ libcudnn7.xxx рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рдлрд┐рд░ рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
рдПрдХ рдЕрдиреНрдп рдорд╢реАрди рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ GTX 1080ti рд╣реИ рдФрд░ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЪрд▓рддрд╛ рд╣реИред
рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдирд╡реАрдбрд┐рдпрд╛-рдЪрд╛рд▓рдХ 430.50 рд╣реИред
рдпрд╣ tf.keras.utils.plot_model
рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рдмрд╛рд░ред
рдЕрдкрдбреЗрдЯ: рдореБрдЭреЗ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдорд┐рд▓рддрд╛ рд╣реИ рдЬрдм рдореИрдВ tf.keras.utils.plot_model
рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВредрдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд░рд╣реВрдБрдЧрд╛ред
============
рдореИрдВ Ubuntu 18.04.3 LTS, tf 1.15, cuda 10.0 рдкрд░ RTX 2080 Ti рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдореБрджреНрджрд╛ рд╣реИред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдХрднреА-рдХрднрд╛рд░ рд╣реА рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рд╣реЛ рдЬрд╛рдП, рддреЛ рдпрд╣ рдорд┐рдирдЯреЛрдВ рддрдХ рдЪрд▓реЗрдЧрд╛ рдФрд░ рдлрд┐рд░ рдмрд╕ рдЦреБрдж рд╣реА рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ ред
рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдХреЛрдИ рднреА рдЗрд╕реЗ рддреБрд░рдВрдд рдареАрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдмрд╕ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЛ, рдпрд╣ рдЕрдВрдд рдореЗрдВ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдореИрдВрдиреЗ рднреА рдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
~/.nv
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рдХрд╛рд▓реЗрдВFYI рдХрд░реЗрдВ, рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ
2019-12-21 14:47:30.785233: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
2019-12-21 14:47:30.959825: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2019-12-21 14:47:31.722238: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2019-12-21 14:47:31.749524: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
Traceback (most recent call last):
File "train_cifar.py", line 204, in <module>
main()
File "train_cifar.py", line 133, in main
validation_data=(x_test, output_test), callbacks=callbacks, verbose=0)
File "/home/xxx/anaconda3/envs/tf-1-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py", line 727, in fit
use_multiprocessing=use_multiprocessing)
File "/home/xxx/anaconda3/envs/tf-1-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_generator.py", line 603, in fit
steps_name='steps_per_epoch')
File "/home/xxx/anaconda3/envs/tf-1-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_generator.py", line 265, in model_iteration
batch_outs = batch_function(*batch_data)
File "/home/xxx/anaconda3/envs/tf-1-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py", line 1017, in train_on_batch
outputs = self.train_function(ins) # pylint: disable=not-callable
File "/home/xxx/anaconda3/envs/tf-1-gpu/lib/python3.7/site-packages/tensorflow_core/python/keras/backend.py", line 3476, in __call__
run_metadata=self.run_metadata)
File "/home/xxx/anaconda3/envs/tf-1-gpu/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1472, in __call__
run_metadata_ptr)
tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
(0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node stem_layer/conv2d/Conv2D}}]]
[[metrics/classifier_acc/Identity/_1749]]
(1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node stem_layer/conv2d/Conv2D}}]]
0 successful operations.
0 derived errors ignored.
рд╣рдо рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рддреНрд░реБрдЯрд┐ рддрдм рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдЬрдм рдореИрдВ LSTM, GRU, RNN рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред
2019-12-23 16:09:00.912238: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2019-12-23 16:09:01.408990: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2019-12-23 16:09:01.409043: W tensorflow/core/framework/op_kernel.cc:1622] OP_REQUIRES failed at cudnn_rnn_ops.cc:1491 : Unknown: Fail to find the dnn implementation.
File "/home/alex/anaconda3/envs/tf/lib/python3.7/site-packages/tensorflow_core/python/keras/layers/recurrent_v2.py", line 961, in call
**cudnn_lstm_kwargs)
File "/home/alex/anaconda3/envs/tf/lib/python3.7/site-packages/tensorflow_core/python/keras/layers/recurrent_v2.py", line 1174, in cudnn_lstm
rnn_mode='lstm')
File "/home/alex/anaconda3/envs/tf/lib/python3.7/site-packages/tensorflow_core/python/ops/gen_cudnn_rnn_ops.py", line 109, in cudnn_rnn
ctx=_ctx)
File "/home/alex/anaconda3/envs/tf/lib/python3.7/site-packages/tensorflow_core/python/ops/gen_cudnn_rnn_ops.py", line 198, in cudnn_rnn_eager_fallback
attrs=_attrs, ctx=_ctx, name=name)
File "/home/alex/anaconda3/envs/tf/lib/python3.7/site-packages/tensorflow_core/python/eager/execute.py", line 67, in quick_execute
six.raise_from(core._status_to_exception(e.code, message), None)
File "<string>", line 3, in raise_from
tensorflow.python.framework.errors_impl.UnknownError: Fail to find the dnn implementation. [Op:CudnnRNN]
рдЬреИрд╕рд╛ рдХрд┐ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рд╕рд╛рд░реА рдореЗрдореЛрд░реА рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЦрддреНрдо рд╣реЛ рдЧрдИ рд╣реИред рд╕рдорд╕реНрдпрд╛рдПрдБ рдХреЗрд╡рд▓ gpu рдореЛрдб рдореЗрдВ рдЖрддреА рд╣реИрдВ, рд╕рдорд╛рди рдХреЛрдб cpu рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рджреЛрдиреЛрдВ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдпрд╣рд╛рдБ рдХреИрд╕реЗ рд╣реИ: https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -560963770, https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -561366750
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдордЬрд╝рдмреВрддреА рд╕реЗ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдпрд╣рд╛рдБ рдХреИрд╕реЗ рд╣реИ: # 24496 (рдЯрд┐рдкреНрдкрдгреА) , # 24496 (рдЯрд┐рдкреНрдкрдгреА)
рд╣рд╛рдп @sanjoy , рдореИрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рддреИрдпрд╛рд░ рд╣реВрдБ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рд╕реНрд░реЛрдд рд╕реЗ tf рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдореЗрд░рд╛ рдирд┐рдЬреА рд▓реИрдкрдЯреЙрдк GPU рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рдЬрд┐рд╕ рд▓реЙрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рд╣реИ?
рдореБрдЭреЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдирд┐рдореНрди рдХреЛрдб рдорд┐рд▓рд╛, рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
from tensorflow.contrib.memory_stats.python.ops.memory_stats_ops import BytesInUse
with tf.device('/device:GPU:0'): # Replace with device you are interested in
bytes_in_use = BytesInUse()
with tf.Session() as sess:
print(sess.run(bytes_in_use))
рдХреНрдпрд╛ рд╣рдореЗрдВ рдЬрд┐рд╕ рд▓реЙрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рд╣реИ?
рдореИрдВ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ VLOG
рдХрдерди рдореЗрдВ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдпрд╣ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ tf-nightly (рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЭрдВрдбреЗ рдХреЗ рд╕рд╛рде, рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛ рджреВрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреМрди рд╕реЗ рд╣реИрдВ)?
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореИрдВ рдЙрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдпрд╣ pip
рдпрд╛ conda
рдФрд░ рдореИрдВ рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореИрдВ рдЙрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдпрд╣
pip
рдпрд╛conda
рдФрд░ рдореИрдВ рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред
рдЖрдк рд╕реНрдерд╛рдкрд┐рдд рдХреГрдкрдпрд╛ tf-рд░рд╛рдд (рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдКрдкрд░ рдЙрдард╛рддрд╛ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ рдХрд┐ рдкреНрд░рд╡реЗрд╢ рдХрд╣рддреЗ рд╣реИрдВ) рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХреЗ TF_CPP_VMODULE
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ gpu_device=5
? рдХрд┐ рджреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреА рддрд░рд╣ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
2019-12-26 12:07:37.196206: I tensorflow/core/common_runtime/gpu/gpu_device.cc:837] available_memory = 12319588352
2019-12-26 12:07:37.196221: I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] min_system_memory = 615979417
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрди рдирдВрдмрд░реЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдпрд╣рд╛рдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рдХреЛрдб tf 2.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ (рдореИрдВ 1.15 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ), рдореИрдВ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рджреЗрдВред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ RTX2080 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк GTX1080 рд╣реИ, рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдкрдиреЗ RTX2080 рдиреЛрдЯрдмреБрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдВрдбрд╛ рдХреНрд▓реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 2.0.0-gpu рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдПрдХ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж Conv2d, LSTM, GRU рддрдм рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рдЖрддреА рд╣реИред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВ:
gpus = tf.config.experimental.list_physical_devices ('GPU')
рдЕрдЧрд░ gpus:
рдкреНрд░рдпрддреНрди:
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
print(e)
рд▓реЗрдХрд┐рди рдХрдИ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рд╕реЗ, рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ
рдореБрдЭреЗ gtx 960m рдХреЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
рд╣рд╛рдп @sanjoy , рдореБрдЭреЗ рдЕрднреА рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛ рд╣реИ:
2019-12-30 17:38:23.824323: I tensorflow/core/common_runtime/gpu/gpu_device.cc:837] available_memory = 10840309760
2019-12-30 17:38:23.824328: I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] min_system_memory = 542015488
рд╣рд╛рдп @sanjoy , рдореБрдЭреЗ рдЕрднреА рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛ рд╣реИ:
2019-12-30 17:38:23.824323: I tensorflow/core/common_runtime/gpu/gpu_device.cc:837] available_memory = 10840309760 2019-12-30 17:38:23.824328: I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] min_system_memory = 542015488
рдзрдиреНрдпрд╡рд╛рдж!
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдЙрддрдирд╛ рдирд╣реАрдВ рдерд╛ рдЬрд┐рддрдирд╛ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ред рдЕрдЧрд░ рдореИрдВ рдХреНрд▓реИрдВрдк MinSystemMemory
рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрдорд╛рдг рдкрд░ 542015488
(рдпрд╛рдиреА min_system_memory = std::min(min_system_memory, 542015488ll)
) resnet (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ cuDNN рд╕реЗ рдХрд┐рд╕реА рднреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ ред
@sanjoy рдореИрдВ (рдЬреНрдпрд╛рджрд╛рддрд░ рд▓рдЧрд╛рддрд╛рд░) рдореЗрд░реЗ рдЕрдВрдд рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред
рдирд╡реАрдирддрдо рд░рд╛рддреНрд░рд┐ рдХреЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдВрджреЗрд╢:
2019-12-30 22:51:06.846774: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
WARNING:tensorflow:Falling back to tensorflow client, its recommended to install the cloud tpu client directly with pip install cloud-tpu-client .
2019-12-30 22:51:08.851660: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2019-12-30 22:51:08.877811: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:08:00.0 name: GeForce GTX 1070 computeCapability: 6.1
coreClock: 1.7715GHz coreCount: 15 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 238.66GiB/s
2019-12-30 22:51:08.887672: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2019-12-30 22:51:08.895277: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2019-12-30 22:51:08.906016: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2019-12-30 22:51:08.913767: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2019-12-30 22:51:08.921329: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2019-12-30 22:51:08.930208: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2019-12-30 22:51:08.941818: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2019-12-30 22:51:08.945713: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
TF GPU device: PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
Tensorflow Version: 2.1.0-dev20191230
Tensorflow_addons Version: 0.7.0-dev
Preparing data
Loading dataset
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 80/80 [00:03<00:00, 21.61it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 68/68 [00:00<00:00, 447.32it/s]
Performing NLP
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 80/80 [00:00<00:00, 13332.71it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 68/68 [00:00<?, ?it/s]
Transforming dataset
Generating primitives and constructing vocabulary
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 80/80 [00:00<00:00, 139.11it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 68/68 [00:00<00:00, 4249.86it/s]
Encoding primitives
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 16654/16654 [00:00<00:00, 33640.74it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 805/805 [00:00<00:00, 33538.43it/s]
2019-12-30 22:51:22.970554: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-12-30 22:51:22.977228: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:08:00.0 name: GeForce GTX 1070 computeCapability: 6.1
coreClock: 1.7715GHz coreCount: 15 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 238.66GiB/s
2019-12-30 22:51:22.983571: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2019-12-30 22:51:22.986832: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2019-12-30 22:51:22.990667: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2019-12-30 22:51:22.993801: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2019-12-30 22:51:22.996967: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2019-12-30 22:51:23.002629: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2019-12-30 22:51:23.006072: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2019-12-30 22:51:23.010482: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
2019-12-30 22:51:23.557556: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1087] TensorFlow compiled with CUDA 10.1 and cuDNN 7.6.5
2019-12-30 22:51:23.560870: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1099] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-12-30 22:51:23.564144: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] 0
2019-12-30 22:51:23.569159: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1118] 0: N
2019-12-30 22:51:23.571310: I tensorflow/core/common_runtime/gpu/gpu_device.cc:837] available_memory = 7038160076
2019-12-30 22:51:23.573861: I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] min_system_memory = 351908003
2019-12-30 22:51:23.576728: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1370] GPUDevice PlatformGpuId 0 TfGpuId 0 on bus 1 numa: 0 pci: 0000:08:00.0 DeviceLocality: bus_id: 1
links {
}
2019-12-30 22:51:23.583814: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1244] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6376 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1070, pci bus id: 0000:08:00.0, compute capability: 6.1)
2019-12-30 22:51:23.590034: I tensorflow/core/common_runtime/gpu/gpu_device.cc:249] Created stream[0] = 000002093BAB9860
2019-12-30 22:51:23.594885: I tensorflow/core/common_runtime/gpu/gpu_device.cc:268] Created host_to_device_stream[0] = 000002093BAB9360
2019-12-30 22:51:23.597951: I tensorflow/core/common_runtime/gpu/gpu_device.cc:273] Created device_to_host_stream[0] = 000002093BABA960
2019-12-30 22:51:23.600920: I tensorflow/core/common_runtime/gpu/gpu_device.cc:289] Created device_to_device_stream[0] = 000002093BAB8EE0
2019-12-30 22:54:47.762913: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
WARNING:tensorflow:Falling back to tensorflow client, its recommended to install the cloud tpu client directly with pip install cloud-tpu-client .
2019-12-30 22:54:50.073199: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2019-12-30 22:54:50.100339: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:08:00.0 name: GeForce GTX 1070 computeCapability: 6.1
coreClock: 1.7715GHz coreCount: 15 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 238.66GiB/s
2019-12-30 22:54:50.105836: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2019-12-30 22:54:50.115940: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2019-12-30 22:54:50.127341: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2019-12-30 22:54:50.131871: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2019-12-30 22:54:50.139786: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2019-12-30 22:54:50.144940: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2019-12-30 22:54:50.159197: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2019-12-30 22:54:50.162685: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
TF GPU device: PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
Tensorflow Version: 2.1.0-dev20191230
Tensorflow_addons Version: 0.7.0-dev
Preparing data
Loading dataset
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 80/80 [00:03<00:00, 21.71it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 68/68 [00:00<00:00, 433.07it/s]
Performing NLP
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 80/80 [00:00<00:00, 13332.18it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 68/68 [00:00<?, ?it/s]
Transforming dataset
Generating primitives and constructing vocabulary
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 80/80 [00:00<00:00, 140.34it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 68/68 [00:00<00:00, 4249.55it/s]
Encoding primitives
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 16654/16654 [00:00<00:00, 33039.93it/s]
100%|тЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИтЦИ| 805/805 [00:00<00:00, 33537.43it/s]
2019-12-30 22:55:04.084880: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-12-30 22:55:04.088867: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:08:00.0 name: GeForce GTX 1070 computeCapability: 6.1
coreClock: 1.7715GHz coreCount: 15 deviceMemorySize: 8.00GiB deviceMemoryBandwidth: 238.66GiB/s
2019-12-30 22:55:04.094516: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2019-12-30 22:55:04.097049: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2019-12-30 22:55:04.099754: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2019-12-30 22:55:04.102329: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2019-12-30 22:55:04.105131: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2019-12-30 22:55:04.108029: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2019-12-30 22:55:04.110629: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2019-12-30 22:55:04.114339: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
2019-12-30 22:55:04.655119: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1087] TensorFlow compiled with CUDA 10.1 and cuDNN 7.6.5
2019-12-30 22:55:04.658124: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1099] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-12-30 22:55:04.660826: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] 0
2019-12-30 22:55:04.662403: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1118] 0: N
2019-12-30 22:55:04.664213: I tensorflow/core/common_runtime/gpu/gpu_device.cc:837] available_memory = 7038160076
2019-12-30 22:55:04.666185: I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] min_system_memory = 351908003
2019-12-30 22:55:04.668490: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1370] GPUDevice PlatformGpuId 0 TfGpuId 0 on bus 1 numa: 0 pci: 0000:08:00.0 DeviceLocality: bus_id: 1
links {
}
2019-12-30 22:55:04.672820: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1244] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6376 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1070, pci bus id: 0000:08:00.0, compute capability: 6.1)
2019-12-30 22:55:04.677690: I tensorflow/core/common_runtime/gpu/gpu_device.cc:249] Created stream[0] = 0000021EC0CF5840
2019-12-30 22:55:04.679747: I tensorflow/core/common_runtime/gpu/gpu_device.cc:268] Created host_to_device_stream[0] = 0000021EC0CF58C0
2019-12-30 22:55:04.682343: I tensorflow/core/common_runtime/gpu/gpu_device.cc:273] Created device_to_host_stream[0] = 0000021EC0CF5940
2019-12-30 22:55:04.685266: I tensorflow/core/common_runtime/gpu/gpu_device.cc:289] Created device_to_device_stream[0] = 0000021EC0CF59C0
EDIT: рдореЙрдбрд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА, рдЕрдЧрд░ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
Feature_1 (InputLayer) [(None, 150)] 0
__________________________________________________________________________________________________
Feature_2 (InputLayer) [(None, 150)] 0
__________________________________________________________________________________________________
embedding (Embedding) (None, 150, 64) 5632 Feature_1[0][0]
__________________________________________________________________________________________________
embedding_1 (Embedding) (None, 150, 64) 2944 Feature_2[0][0]
__________________________________________________________________________________________________
bidirectional (Bidirectional) (None, 150, 128) 66048 embedding[0][0]
__________________________________________________________________________________________________
bidirectional_1 (Bidirectional) (None, 150, 128) 66048 embedding_1[0][0]
__________________________________________________________________________________________________
concatenate (Concatenate) (None, 150, 256) 0 bidirectional[0][0]
bidirectional_1[0][0]
__________________________________________________________________________________________________
bidirectional_2 (Bidirectional) (None, 64) 73984 concatenate[0][0]
__________________________________________________________________________________________________
dense (Dense) (None, 32) 2080 bidirectional_2[0][0]
__________________________________________________________________________________________________
dense_1 (Dense) (None, 1) 33 dense[0][0]
==================================================================================================
Total params: 216,769
Trainable params: 216,769
Non-trainable params: 0
TF 1.15 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг, рдФрд░ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред RTX 2070 рдФрд░ NVIDIA 440.44 рдФрд░ CUDA рд╕рдВрд╕реНрдХрд░рдг 10.2 рдкрд░ред
import tensorflow as tf
import tensorflow.keras.applications as applications
import tensorflow.keras.utils as utils
import numpy as np
num_samples = 1000
height = 224
width = 224
num_classes = 1000
model = applications.ResNet50(weights=None, input_shape=(height, width, 3), classes=num_classes)
parallel_model = utils.multi_gpu_model(model, gpus=2, cpu_relocation=True)
parallel_model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
x = np.random.random((num_samples, height, width, 3))
y = np.random.random((num_samples, num_classes))
parallel_model.fit(x, y, epochs=20, batch_size=256)
print('all done')
Train on 1000 samples
Epoch 1/20
2020-02-06 15:06:40.524918: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-02-06 15:06:41.291528: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-02-06 15:06:41.329183: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 822083584 exceeds 10% of system memory.
2020-02-06 15:06:42.082319: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 851705856 exceeds 10% of system memory.
2020-02-06 15:06:42.293092: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 822083584 exceeds 10% of system memory.
2020-02-06 15:06:43.173764: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 822083584 exceeds 10% of system memory.
2020-02-06 15:06:43.820074: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-02-06 15:06:44.390897: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 822083584 exceeds 10% of system memory.
2020-02-06 15:06:45.839525: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-02-06 15:06:45.856793: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-02-06 15:06:45.883423: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
Traceback (most recent call last):
File "./test_tf.py", line 19, in <module>
parallel_model.fit(x, y, epochs=20, batch_size=256)
File "/nix/store/520352w3m8lyj2zgv647qfqrws5q798n-python3.7-tensorflow-gpu-1.15.0/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py", line 727, in fit
use_multiprocessing=use_multiprocessing)
File "/nix/store/520352w3m8lyj2zgv647qfqrws5q798n-python3.7-tensorflow-gpu-1.15.0/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_arrays.py", line 675, in fit
steps_name='steps_per_epoch')
File "/nix/store/520352w3m8lyj2zgv647qfqrws5q798n-python3.7-tensorflow-gpu-1.15.0/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_arrays.py", line 394, in model_iteration
batch_outs = f(ins_batch)
File "/nix/store/520352w3m8lyj2zgv647qfqrws5q798n-python3.7-tensorflow-gpu-1.15.0/lib/python3.7/site-packages/tensorflow_core/python/keras/backend.py", line 3476, in __call__
run_metadata=self.run_metadata)
File "/nix/store/520352w3m8lyj2zgv647qfqrws5q798n-python3.7-tensorflow-gpu-1.15.0/lib/python3.7/site-packages/tensorflow_core/python/client/session.py", line 1472, in __call__
run_metadata_ptr)
tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
(0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node replica_1/resnet50/conv1_conv/Conv2D}}]]
(1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node replica_1/resnet50/conv1_conv/Conv2D}}]]
[[training/RMSprop/gradients/gradients/Switch_482/_3893]]
0 successful operations.
1 derived errors ignored.
рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ https://github.com/tensorflow/tensorflow/issues/36501 рдХрд┐ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, GPU рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рднреА рдирд╣реАрдВ рд╣реИ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЗрд╕рд▓рд┐рдП рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд┐рдХрд▓реНрдк рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдХрд░рдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЙрд╕реА рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ 1.2 рдпрд╛ ... рдЬреИрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЯреАрдПрдл рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рддрд╛ рдерд╛ рдФрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХрд░рддреЗ рдереЗред
рдореБрдЭреЗ рдпрд╣рд╛рдБ рд╕рднреА рдХреЗ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ! рдЯреАрдПрдл 2.1 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдЬреАрдкреАрдпреВ рдореЗрдВ рдореЗрдореЛрд░реА рд╡реГрджреНрдзрд┐ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд░рд▓ рдПрдордПрдирдЖрдИрдПрд╕рдЯреА рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ 2080 ti рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдкреНрд░рдореБрдЦ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╢рдВрдХреБ CUDNN рдЖрдВрддрд░рд┐рдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ tf 2.1 рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ-рдкреНрд░рд╛рдпрд┐рдХрддрд╛ рдХреЛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреЛрдб рдореЗрдВ рдореЗрдореЛрд░реА рд╡реГрджреНрдзрд┐ рдХреЛ рднреА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдореИрдВрдиреЗ tf 2.0, CUDA 10.0 рдФрд░ CUDA 10.1, рд╡рд┐рднрд┐рдиреНрди CUDNN рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдореИрдВ рдЕрдкрдиреЗ ubuntu рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ MNIST рдЙрджрд╛рд╣рд░рдг рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд╕рдВрднрд╛рд╡рдирд╛ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВред рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рдПрдХ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд╛рддреНрд░рд┐рдХрд╛рд▓реАрди рдбреЙрдХрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЕрднреА рднреА рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд╕рдВрднрд╛рд╡рдирд╛ (рдЯреАрдПрдл 2.2 рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рд╕реАрдкреАрдпреВ рдкрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред рдореИрдВрдиреЗ 1080 ti рд╡рд╛рд▓реА рдорд╢реАрди рдкрд░ рдПрдХ рд╣реА docker рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ ... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ RTX рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред
tf рдбреЙрдХрдЯрд░ рдФрд░ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдкреНрд░рд╛рдпрд┐рдХрддрд╛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд cudnn рдбреАрдмрдЧ рдЬрд╛рдирдХрд╛рд░реА:
TF VERSION: 2.2.0-dev20200208
2020-02-11 08:51:05.891560: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-02-11 08:51:05.912465: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 3696000000 Hz
2020-02-11 08:51:05.913040: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x57b1fd0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-02-11 08:51:05.913052: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version
2020-02-11 08:51:05.914414: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2020-02-11 08:51:05.975016: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.975364: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x5679220 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2020-02-11 08:51:05.975376: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): GeForce RTX 2080 Ti, Compute Capability 7.5
2020-02-11 08:51:05.975477: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.975744: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce RTX 2080 Ti computeCapability: 7.5
coreClock: 1.545GHz coreCount: 68 deviceMemorySize: 10.75GiB deviceMemoryBandwidth: 573.69GiB/s
2020-02-11 08:51:05.975865: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-02-11 08:51:05.976745: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-02-11 08:51:05.977582: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-02-11 08:51:05.977722: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-02-11 08:51:05.978636: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-02-11 08:51:05.979165: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-02-11 08:51:05.981150: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-02-11 08:51:05.981216: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.981528: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.981792: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
2020-02-11 08:51:05.981812: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-02-11 08:51:05.982323: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1099] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-02-11 08:51:05.982331: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] 0
2020-02-11 08:51:05.982335: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1118] 0: N
2020-02-11 08:51:05.982395: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.982687: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.982959: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1244] Created TensorFlow device (/device:GPU:0 with 9604 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5)
2020-02-11 08:51:05.983594: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.983864: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce RTX 2080 Ti computeCapability: 7.5
coreClock: 1.545GHz coreCount: 68 deviceMemorySize: 10.75GiB deviceMemoryBandwidth: 573.69GiB/s
2020-02-11 08:51:05.983881: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-02-11 08:51:05.983889: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-02-11 08:51:05.983896: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-02-11 08:51:05.983904: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-02-11 08:51:05.983912: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-02-11 08:51:05.983920: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-02-11 08:51:05.983928: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-02-11 08:51:05.983961: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.984238: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.984497: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
2020-02-11 08:51:05.984508: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1099] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-02-11 08:51:05.984512: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] 0
2020-02-11 08:51:05.984516: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1118] 0: N
2020-02-11 08:51:05.984563: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.984842: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.985099: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1244] Created TensorFlow device (/device:GPU:0 with 9604 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5)
SUCCESS: Found GPU: /device:GPU:0
2020-02-11 08:51:05.989382: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.989649: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce RTX 2080 Ti computeCapability: 7.5
coreClock: 1.545GHz coreCount: 68 deviceMemorySize: 10.75GiB deviceMemoryBandwidth: 573.69GiB/s
2020-02-11 08:51:05.989663: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-02-11 08:51:05.989671: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-02-11 08:51:05.989678: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-02-11 08:51:05.989684: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-02-11 08:51:05.989691: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-02-11 08:51:05.989700: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-02-11 08:51:05.989709: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-02-11 08:51:05.989744: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.990021: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.990347: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
2020-02-11 08:51:05.990544: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.990807: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1558] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce RTX 2080 Ti computeCapability: 7.5
coreClock: 1.545GHz coreCount: 68 deviceMemorySize: 10.75GiB deviceMemoryBandwidth: 573.69GiB/s
2020-02-11 08:51:05.990820: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-02-11 08:51:05.990828: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-02-11 08:51:05.990834: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-02-11 08:51:05.990841: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-02-11 08:51:05.990848: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-02-11 08:51:05.990854: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-02-11 08:51:05.990861: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-02-11 08:51:05.990892: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.991171: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.991426: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1700] Adding visible gpu devices: 0
2020-02-11 08:51:05.991437: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1099] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-02-11 08:51:05.991441: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] 0
2020-02-11 08:51:05.991444: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1118] 0: N
2020-02-11 08:51:05.991486: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.991763: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-02-11 08:51:05.992022: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1244] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 9604 MB memory) -> physical GPU (device: 0, name: GeForce RTX 2080 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5)
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/linalg/linear_operator_lower_triangular.py:158: calling LinearOperator.__init__ (from tensorflow.python.ops.linalg.linear_operator) with graph_parents is deprecated and will be removed in a future version.
Instructions for updating:
Do not pass `graph_parents`. They will no longer be used.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/linalg/linear_operator_lower_triangular.py:158: calling LinearOperator.__init__ (from tensorflow.python.ops.linalg.linear_operator) with graph_parents is deprecated and will be removed in a future version.
Instructions for updating:
Do not pass `graph_parents`. They will no longer be used.
2020-02-11 08:51:06.822991: W tensorflow/python/util/util.cc:319] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.
Epoch 1/15
2020-02-11 08:51:07.907445: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-02-11 08:51:09.832694: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
I! CuDNN (v7604) function cudnnCreate() called:
i! Time: 2020-02-11T08:51:09.832722 (0d+0h+0m+4s since start)
i! Process=205; Thread=269; GPU=NULL; Handle=NULL; StreamId=NULL.
2020-02-11 08:51:10.409902: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
I! CuDNN (v7604) function cudnnCreate() called:
i! Time: 2020-02-11T08:51:10.410012 (0d+0h+0m+5s since start)
i! Process=205; Thread=269; GPU=NULL; Handle=NULL; StreamId=NULL.
2020-02-11 08:51:10.417952: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
1/Unknown - 4s 4s/stepTraceback (most recent call last):
File "VAE_MNIST_tfp.py", line 150, in <module>
validation_data=eval_dataset)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/engine/training.py", line 718, in fit
use_multiprocessing=use_multiprocessing)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/engine/training_v2.py", line 341, in fit
total_epochs=epochs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/engine/training_v2.py", line 128, in run_one_epoch
batch_outs = execution_function(iterator)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/engine/training_v2_utils.py", line 98, in execution_function
distributed_function(input_fn))
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/def_function.py", line 576, in __call__
result = self._call(*args, **kwds)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/def_function.py", line 640, in _call
return self._stateless_fn(*args, **kwds)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 2414, in __call__
return graph_function._filtered_call(args, kwargs) # pylint: disable=protected-access
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 1660, in _filtered_call
self.captured_inputs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 1741, in _call_flat
ctx, args, cancellation_manager=cancellation_manager))
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/function.py", line 598, in call
ctx=ctx)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/eager/execute.py", line 60, in quick_execute
inputs, attrs, num_outputs)
tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[node model/conv2d/Conv2D (defined at VAE_MNIST_tfp.py:150) ]] [Op:__inference_distributed_function_4291]
Errors may have originated from an input operation.
Input Source operations connected to node model/conv2d/Conv2D:
model/lambda/sub (defined at VAE_MNIST_tfp.py:98)
Function call stack:
distributed_function
@sanjoy рдореИрдВ RTX 2080 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ рдФрд░ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рд╕реНрд░реЛрдд рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред
@odinsbane рдЖрдкрдХреЛ рд╕реНрд░реЛрдд рд╕реЗ TensorFlow рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдореИрдВ рдиреАрдЪреЗ рд╕реБрдЭрд╛рддрд╛ рд╣реВрдВред
рдкрд╣рд▓рд╛ рдХрджрдо
LOG(INFO)
рдпрд╛std::cerr
рд▓рд╛рдЗрдиреЛрдВ рдХреЛMinSystemMemory
available_memory
рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рд╣реИ рдФрд░MinSystemMemory
рд╕реЗ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдХреНрдпрд╛available_memory
nvidia-smi
рдкреНрд░рд┐рдВрдЯ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ? рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рд╕реНрдореГрддрд┐ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ?рджреВрд╕рд░реА рдмрд╛рдд, рдХреНрдпрд╛
0.05
рдореИрдЬрд┐рдХ рдирдВрдмрд░ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╣рддреЗ рд╣реИрдВ,0.07
рдмрд┐рд▓реНрдХреБрд▓ рднреА рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?
рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╛рджреБрдИ рд╕рдВрдЦреНрдпрд╛ 0.05
рдЬрд╛рджреВ рд╕рдВрдЦреНрдпрд╛ рдХреЛ 0.1
рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рд╕реЗ рднрд╡рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо 1.15.2 рдХреЗ рд▓рд┐рдП)!
рд╢реЛрд░ рдХреЗ рдПрдХ рдорд╣рд╛рд╕рд╛рдЧрд░ рдореЗрдВ рдиреНрдпреВрдирддрдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдореИрдЬрд┐рдХ рдирдВрдмрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
@chsigg рдХреЛрдИ рд╕реБрдЭрд╛рд╡? рд╢рд╛рдпрдж рд╣рдо cuDNN, cuBLAS рдФрд░ рдЕрдиреНрдп NVIDIA рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ _before_ рд╣рдо GPU рд╕реНрдореГрддрд┐ рдХреЗ рд╕рднреА рдХреЛ рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?
рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ allow_growth
рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕рдордп рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ RTX2080 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк GTX1080 рд╣реИ, рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдкрдиреЗ RTX2080 рдиреЛрдЯрдмреБрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдВрдбрд╛ рдХреНрд▓реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 2.0.0-gpu рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдПрдХ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж Conv2d, LSTM, GRU рддрдм рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рдЖрддреА рд╣реИред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВ:
gpus = tf.config.experimental.list_physical_devices ('GPU')
рдЕрдЧрд░ gpus:
рдкреНрд░рдпрддреНрди:рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рдЬреАрдкреАрдпреВ рдореЗрдВ рд╕рдорд╛рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) logical_gpus = tf.config.experimental.list_logical_devices('GPU') print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs") except RuntimeError as e:
рдЬреАрдкреАрдпреВ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
print(e)
рд▓реЗрдХрд┐рди рдХрдИ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рд╕реЗ, рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ
рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд▓реИрдореНрдмреНрдбрд╛ Tensorflow2- рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдмреЗрд╕рд┐рдХ-рдЗрдореЗрдЬ-рдХреНрд▓рд╛рд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЬрдм рддрдХ рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА, рддрдм рддрдХ рдПрдХ рд╣реА cudnn рд╣реИрдВрдбрд▓ рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИред рдпрд╣ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЕрдм рдЖрд░рдЯреАрдПрдХреНрд╕ 2070 рдореИрдХреНрд╕ рдХреНрдпреВ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдиреНрдпреВрдирддрдо рдЬреАрдкреАрдпреВ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рднреА рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реВрдВ
anacondacloud рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-gpu2.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
rtx2070s
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-gpu.2.0.0
рдХреНрдпреВрдбрд╛ 10.0.13
cudnn 7.6.5
Cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATUS_INTERNAL_ERROR
рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рднреА рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реВрдВ
anacondacloud рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-gpu2.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВrtx2070s
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-gpu.2.0.0
рдХреНрдпреВрдбрд╛ 10.0.13
cudnn 7.6.5
Cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATUS_INTERNAL_ERROR
рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдбрд╛рд▓рд╛:
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
print(e)
рдЖрдкрдХреЗ рдкреНрд░рд╡реЗрд╢ рдХреЛрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░?
рдХрд╛рдлреА рд╕рдордп рдХреЗ рдмрд╛рдж tf.signal.stft рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛
рдореИрдВ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдкрд╛рд░ рдЖрдпрд╛ рдФрд░ рд╕реНрдореГрддрд┐ рд╡реГрджреНрдзрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реБрдП рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЗрд╕рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдЯреЗрдиреЛрд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВ = 2.1 рдХреЛ рдХреНрдпреВрдбрд╛рдЯреБрд▓рдХрд┐рдЯ = 10.1 рдПрдирд╛рдХреЛрдВрдбрд╛ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ
рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-рдЬреАрдкреАрдпреВред рдореИрдВ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде linux-ubuntu 18.04 рдФрд░ рдбреЗрдмрд┐рдпрди 9.12 рдХреЗ рддрд╣рдд рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
GeForce GTX 1050 Ti with Max-Q Design
GeForce GTX 1050 Ti
GeForce RTX 2080 Ti
рдореИрдВрдиреЗ рд╣рдорд╛рд░реА рд▓реИрдм рдореЗрдВ рджреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдб рднреА рдЖрдЬрдорд╛рдП
GeForce GTX 1080 Ti
TITAN Xp COLLECTORS EDITION
рдЬрд╣рд╛рдБ рдХреЛрдб рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде рдФрд░ рдЙрд╕рдХреЗ рдмрд┐рдирд╛ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИ
рдореЗрд░реА рдиреНрдпреВрдирддрдо рд╕рдорд╕реНрдпрд╛ рдиреАрдЪреЗ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ conv2d рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЗрди рддреАрди рдЖрджреЗрд╢реЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рддреАрд╕рд░рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
import sys
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus and len(sys.argv)> 1 and sys.argv[1].startswith("-a"):
print("allowing growth")
growth = True
else:
print("nogrowth")
growth = False
try:
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, growth)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
print(e)
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32),
filters=tf.zeros((2,2,20,20), dtype=tf.float32),
strides=(1,1,1,1), padding="VALID")
print("done")
рдореБрдЭреЗ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛
anacondacloud рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-gpu2.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
rtx2070s
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ- gpu.2.0.0
рдХреНрдпреВрдбрд╛ 10.0.13
cudnn 7.6.5
Cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATUS_INTERNAL_ERROR
рдХрдирд╡рд▓реНрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдеред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдКрдкрд░ рд▓реЙрдЧ рдЗрди рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рд╣реИрдВредрдХреНрдпрд╛ рдЖрдкрдиреЗ рдбрд╛рд▓рд╛:
gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) logical_gpus = tf.config.experimental.list_logical_devices('GPU') print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs") except RuntimeError as e: print(e)
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХреЛрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░?
рд╣рд╛рдБ, рдореИрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рдзрдиреНрдпрд╡рд╛рдж !!
рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ allow_growth = True
рд╕рдорд╛рдзрд╛рди рдерд╛ред BUT, TensorFlow 2 рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
gpu_devices = tf.config.experimental.list_physical_devices('GPU')
for device in gpu_devices:
tf.config.experimental.set_memory_growth(device, True)
рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ @opcecco рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж: https://github.com/tensorflow/tensorflow/issues/25256
рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ conv2d рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЗрди рддреАрди рдЖрджреЗрд╢реЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рддреАрд╕рд░рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
@roebel рдХреНрдпрд╛ рдЖрдк рдХреБрдЫ рднрд┐рдиреНрди рдЫрд╣ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдФрд░ рдЕрдЧрд░ рдЖрдк рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ (рдХрд╣рддреЗ рд╣реИрдВ):
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32),
filters=tf.zeros((2,2,20,20), dtype=tf.float32),
strides=(1,1,1,1), padding="VALID")
рдХреНрдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдЕрднреА рднреА conv2d
рдпрд╛ рдХреНрдпрд╛ рдпрд╣ рддреАрд╕рд░реЗ stft
?
@sanjoy рдпрдХреАрди рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рддреАрди рд░реВрдкрд╛рдВрддрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдЬреЛ рдЖрдЬреНрдЮрд╛рдУрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЪреМрдерд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ 4 рд╕реНрдЯреИрдлрд╝реНрдЯ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХрдирд╡рд╛рд░реНрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
рдЪрд╛рд░ рд╡рд┐рднрд┐рдиреНрди рд▓реЙрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -595998686
рдЕрдВрддрд┐рдо рдЪрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЬрдЧрд╣ред
рдЖрджреЗрд╢ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо:
stft-> blas-> conv2d рдЬрдм acc2d рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рддреЛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
conv2d-> stft-> stas рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдмреНрд▓рд╛рд╕ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП рддреАрд╕рд░рд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди blas рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд▓рдЧрддрд╛ рд╣реИ 2d
matmul-> conv2d-> рдПрд╕рдЯреАрдПрдл рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕реНрдЯреЗрдк рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
stft -> - stft -> - stft-> stft-> matmul-> conv2d рдЬрдм acc2d рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓реЙрдЧ рджреЗрдЦреЗрдВред
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЕрдиреНрдп рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЗ рд▓рд┐рдП рдкреВрдЫрдирд╛ рдмреБрд░рд╛ рдордд рдорд╛рдирдирд╛ред
conv2d рдЕрдВрддрд┐рдо:
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32),
filters=tf.zeros((2,2,20,20), dtype=tf.float32),
strides=(1,1,1,1), padding="VALID")
print("done")
рдореИрддреБрд▓ рдЕрдВрддрд┐рдо
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32),
filters=tf.zeros((2,2,20,20), dtype=tf.float32),
strides=(1,1,1,1), padding="VALID")
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
print("done")
рдЕрдВрддрд┐рдо рд╕рдордп
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32),
filters=tf.zeros((2,2,20,20), dtype=tf.float32),
strides=(1,1,1,1), padding="VALID")
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
print("done")
4 рд╕реНрдЯреИрдлреНрдЯ рдкрд╣рд▓рд╛ рдХрдВрдлрд░реНрдо 2d рдЕрдВрддрд┐рдо:
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32),
filters=tf.zeros((2,2,20,20), dtype=tf.float32),
strides=(1,1,1,1), padding="VALID")
print("done")
рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж
рдореБрдЭреЗ рдирд┐рдореНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА:
TensorFlow (рд╕реНрд░реЛрдд рдпрд╛ рдмрд╛рдЗрдирд░реА) рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд: r1.13.1, r.1.13.2, r1.14
рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: 3.6.1
Bazel рд╕рдВрд╕реНрдХрд░рдг (рдпрджрд┐ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди):
рдЬреАрд╕реАрд╕реА / рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг (рдпрджрд┐ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди):
CUDA / cuDNN рд╕рдВрд╕реНрдХрд░рдг: CUDA 10 cuDNN 7.4.1 рдХреЗ рд╕рд╛рде
GPU рдореЙрдбрд▓ рдФрд░ рдореЗрдореЛрд░реА: RTX 2070 8GBред
рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛:
TensorFlow (рд╕реНрд░реЛрдд рдпрд╛ рдмрд╛рдЗрдирд░реА) рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд: r1.12.0
рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: 3.6.9
рдЬреАрд╕реАрд╕реА / рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдВрд╕реНрдХрд░рдг: 4.8
CUDA / cuDNN рд╕рдВрд╕реНрдХрд░рдг: CUDA 9.0 cuDNN 7.1.4 рдХреЗ рд╕рд╛рде
GPU рдореЙрдбрд▓ рдФрд░ рдореЗрдореЛрд░реА: RTX 2070 8GBред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА
рдореБрдЭреЗ рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рднреА рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ TF_FORCE_GPU_ALLOW_GROWTH = true рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рдореНрди рд╣реИ:
рд╡рд┐рдВрдбреЛрдЬ 10
рд╕реНрд░реЛрдд r2.0 рд╕реЗ рд╕рдВрдХрд▓рд┐рдд Tensorflow
рдмрд╛рдЬреЗрд▓: 0.26.1
C ++ рдХрдВрдкрд╛рдЗрд▓рд░: MSVC 2017
CUDA: 10
cuDNN: 7.6.5
Intel4930 рд╕реАрдкреАрдпреВ, рдПрдирд╡реАрдбрд┐рдпрд╛ рдЯрд╛рдЗрдЯрди рдПрдХреНрд╕рдкреА рдкрд╛рд╕реНрдХрд▓
Ubuntu 18.04.4, рдорд┐рдирд┐рдХреЛрдВрдбрд╛ рдирд╡реАрдирддрдо,
`рдХреЛрдВрдбрд╛ рд╕реВрдЪреА | grep "cud" рджреЗрддрд╛ рд╣реИ
cudatoolkit 10.1.243 h6bb024c_0
cudnn 7.6.5 cuda10.1_0
`рдХреЛрдВрдбрд╛ рд╕реВрдЪреА | grep "рдЯреЗрдВрд╕рд░" `` рджреЗрддрд╛ рд╣реИ
tensorboard 2.1.0 py3_0
tensorflow 2.1.0 gpu_py37h7a4bb67_0
tensorflow-base 2.1.0 gpu_py37h6c5654b_0
tensorflow-estimator 2.1.0 pyhd54b08b_0
tensorflow-gpu 2.1.0 h0d30ee6_0
рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдкрд╣рд▓реА рд╕реЗрд▓ рд╣реИ:
import tensorflow as tf
gpu_devices = tf.config.experimental.list_physical_devices('GPU')
for device in gpu_devices: tf.config.experimental.set_memory_growth(device, True)
рдореЙрдбрд▓ рдХреБрд▓ рдкрд░рд┐рдорд╛рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдСрдЯреЛрдХреЗрдиреЛрдбрд░ рд╣реИ: 112,269
x_train.shape, y_train.shape, x_test.shape, y_test.shape
((106496, 32, 32, 1), (106496,), (12288, 32, 32, 1), (12288,))
рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
batch_size=64
var_auto_encoder.fit(x_train, x_train, verbose=1,
batch_size=batch_size, epochs=100,
validation_data=(x_test, x_test))
рдФрд░ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдХрдВрд╕реЛрд▓ рд╢реЛ
2020-03-18 15:46:03.019451: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-03-18 15:46:03.179472: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-03-18 15:46:03.566267: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-03-18 15:46:03.569842: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-03-18 15:46:03.569907: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node conv2d/Conv2D}}]]
2020-03-18 15:46:03.573206: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗрд▓ рдХреЗ рдмрдЬрд╛рдп f рдХреЗ рд░реВрдк рдореЗрдВ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.2
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
рддрдм рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ
2020-03-18 15:55:43.050094: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-03-18 15:55:43.050123: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-03-18 15:55:43.050150: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-03-18 15:55:43.050177: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-03-18 15:55:43.050209: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-03-18 15:55:43.050246: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-03-18 15:55:43.050273: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-03-18 15:55:43.050337: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-03-18 15:55:43.050720: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-03-18 15:55:43.051063: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1697] Adding visible gpu devices: 0
2020-03-18 15:55:43.051097: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1096] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-03-18 15:55:43.051108: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] 0
2020-03-18 15:55:43.051116: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] 0: N
2020-03-18 15:55:43.051201: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-03-18 15:55:43.051573: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-03-18 15:55:43.051915: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1241] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 16 MB memory) -> physical GPU (device: 0, name: TITAN X (Pascal), pci bus id: 0000:01:00.0, compute capability: 6.1)
2020-03-18 15:56:07.877181: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-03-18 15:56:07.882424: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-03-18 15:56:07.886148: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-03-18 15:56:07.889830: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
Why am I having the problem if I allow memory growth? Do I need to reboot to reinitialize the gpu?
рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЗ рджреМрд░рд╛рди, рдореБрдЭреЗ рдЕрдкрдиреЗ рдореЗрдиреВрдмрд╛рд░ рдореЗрдВ рдПрдХ рд▓рд╛рд▓ 'рдиреЛ рдПрдВрдЯреНрд░реА' рд╕рд╛рдЗрди рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ '' рддреНрд░реБрдЯрд┐ рдЯреВрдЯреА рд╣реБрдИ рдЧрд┐рдирддреА рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╣реИ '
рдореИрдВрдиреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдкрдбреЗрдЯ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдпрд╣ libcudn7-dev рдФрд░ libcudnn7-doc рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ
рд╕рд╛рде рд╣реА рд╕рд╛рде 57 рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рдирдХрд╛ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ
EDIT: рдореЙрдбрд▓ рдХреЛ рд░реАрдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреНрд░реЗрди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ:
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.2
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
рдпрд╛ рдпрд╣:
import tensorflow as tf
gpu_devices = tf.config.experimental.list_physical_devices('GPU')
for device in gpu_devices: tf.config.experimental.set_memory_growth(device, True)
рдЬреАрдкреАрдпреВ рдкрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ <700 рдПрдордмреА рдмреИрдЪ рдХреЗ рдЖрдХрд╛рд░ 16 рдХреЗ рд╕рд╛рде рдФрд░ рд╣реИ
рдмреИрдЪ рдЖрдХрд╛рд░ 256 рдХреЗ рд╕рд╛рде ~ 1 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ (рдЬреЛ 3x рддреЗрдЬ рдЯреНрд░реЗрди)
рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
config.gpu_options.allow_growth = True
рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдорд┐рд▓рд╛, рддреЛ рдЗрди рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП?
рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рднреА рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реВрдВ
anacondacloud рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ-gpu2.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
rtx2070s
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ-gpu.2.0.0
рдХреНрдпреВрдбрд╛ 10.0.13
cudnn 7.6.5
Cudnn рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрд╛: CUDNN_STATUS_INTERNAL_ERROR
рдХрдиреНрд╡реЗрдВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ cuDNN рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢ рдКрдкрд░ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛редрдХреНрдпрд╛ рдЖрдкрдиреЗ рдбрд╛рд▓рд╛:
gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) logical_gpus = tf.config.experimental.list_logical_devices('GPU') print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs") except RuntimeError as e: print(e)
рдЖрдкрдХреЗ рдкреНрд░рд╡реЗрд╢ рдХреЛрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░?
рдореБрдЭреЗ рдКрдкрд░ рдЬреИрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
@Robosmith рд╕реЗ рд╕рдорд╛рдзрд╛рди рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ!
рдореЗрд░реА рдРрдирдХ:
RTX 2070
рдЙрдмрдВрдЯреВ 18.04 рдПрд▓рдЯреАрдИ
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ 2.1.0
рдХреЗрд░рд╕ 2.3.0
cudnn 7.6.5
cuda10.1.0
рдХреЛрдВрдбрд╛ 4.8.3
рдЕрдЬрдЧрд░ 3.7.7
conda install tensorflow-gpu keras
рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдорд┐рдд
рдЖрдкрдХреЛ рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ TF-2 рдХреЛ рдХрд╛рдо рдореЗрдВ рд▓рд┐рдпрд╛ рд╣реИ! рдФрд░ TF-1 рдиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдФрд░ 'рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ' рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛!
рдзрдиреНрдпрд╡рд╛рдж!
config.gpu_options.allow_growth = рд╕рдЪ
рдЬрдм рдЖрдк рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
tf.config.experimental.set_memory_growth(tf.config.list_physical_devices('GPU')[0], True)
рдпрд╣ рдХреЛрдб import tensorflow as tf
рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдХреЛрдб рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред
рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
config.gpu_options.allow_growth = True
рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдЗрд╕ рдХреЛрдб рдХреЛ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдФрд░ рдХреЗрд░рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рддреЗрдЬрд╝реА рд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдпрд╣рд╛рдБ рд╕реЗ
# Tensorflow
import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)
#And for Keras
from keras.callbacks import ModelCheckpoint
from keras.models import Model, load_model, save_model, Sequential
from keras.layers import Dense, Activation, Dropout, Input, Masking, TimeDistributed, LSTM, Conv1D
from keras.layers import GRU, Bidirectional, BatchNormalization, Reshape
from keras.optimizers import Adam
from keras.backend.tensorflow_backend import set_session
import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.allow_growth = True # dynamically grow the memory used on the GPU
config.log_device_placement = True # to log device placement (on which device the operation ran)
sess = tf.Session(config=config)
set_session(sess) # set this TensorFlow session as the default session for Keras
рдмрд╕ рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реИ;
рдореЗрд░реА рдРрдирдХ:
рдЙрдмрдВрдЯреВ 20.04
NVIDIA RTX 2070
рдПрдирд╡реАрдбрд┐рдпрд╛_рдбреНрд░рд╛рдЗрд╡ 440.64
Tensorflow-gpu 2.0.1 (рдХреЙрдиреНрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ Cudatoolkit рдФрд░ CuDNN рдХреЛ рдПрдХ рд╣реА env рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ)
cudatoolkit 10.1.243
cudnn 7.6.5
рд╕рдорд╕реНрдпрд╛ рдХреЛ tf.config.experimental.set_memory_growth(tf.config.list_physical_devices('GPU')[0], True)
рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд┐рдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд░реНрдХ-рдЕрд░рд╛рдЙрдВрдб рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЗрди рджрд┐рдиреЛрдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ 20XX рдХрд╛рд░реНрдб рд╣реИрдВред рд╕рдВрднрд╡рддрдГ рдПрдХ рдЕрджреНрдпрддрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЕрдкрдбреЗрдЯ: рдЪреВрдВрдХрд┐ рдореИрдВ рдбреБрдЕрд▓-рдмреВрдЯрд┐рдВрдЧ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд╕рдорд╕реНрдпрд╛ рд╡рд╣рд╛рдВ рдмрдиреА рд░рд╣рддреА рд╣реИред
рд╡рд┐рдВрдбреЛрдЬ 10
рдПрдирд╡реАрдбрд┐рдпрд╛-рдЪрд╛рд▓рдХ 445.87
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИ
рдореЗрд░реЗ RTX 2080 рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рдбреНрд░рд╛рдЗрд╡рд░ (445.87) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред
@NBouman рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдЙрдмрдВрдЯреВ 18.04 рдкрд░ GeForce GTX 1050 TI рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдЕрднреА рдкрд┐рдЫрд▓реЗ рдЙрдкрд▓рдмреНрдз рдбреНрд░рд╛рдЗрд╡рд░ 440.82 рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдлрд┐рд░ рднреА рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдореЗрд░реЗ RTX 2080 рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рдбреНрд░рд╛рдЗрд╡рд░ (445.87) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред
@NBouman рдЖрдк рдХрд┐рд╕ OS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореИрдВ Ubuntu 20.40 рдкрд░ рд╣реВрдВ, рдФрд░ рдирд╡реАрдирддрдо рдЙрдкрд▓рдмреНрдз рдбреНрд░рд╛рдЗрд╡рд░ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ 440.82, рдФрд░ @roebel рдХреА рддрд░рд╣, рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣рддреА рд╣реИред
@roebel @eduardoscsouza рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рдорд╢реАрди рдХреЗ рд╕рд╛рде рд╣реВрдВ рдЬреЛ рдкрд╣рд▓реЗ рдпрд╣ рдореБрджреНрджрд╛ рдерд╛ред
рдмрд╕ рдореЗрдВ рдЭрдВрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реИ;
рдореЗрд░реА рдРрдирдХ:
рдЙрдмрдВрдЯреВ 20.04
NVIDIA RTX 2070
рдПрдирд╡реАрдбрд┐рдпрд╛_рдбреНрд░рд╛рдЗрд╡ 440.64
Tensorflow-gpu 2.0.1 (рдХреЙрдиреНрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ Cudatoolkit рдФрд░ CuDNN рдХреЛ рдПрдХ рд╣реА env рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ)
cudatoolkit 10.1.243
cudnn 7.6.5рд╕рдорд╕реНрдпрд╛ рдХреЛ
tf.config.experimental.set_memory_growth(tf.config.list_physical_devices('GPU')[0], True)
рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИрд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд┐рдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд░реНрдХ-рдЕрд░рд╛рдЙрдВрдб рдХреА рддрд░рд╣ рдЕрдзрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЗрди рджрд┐рдиреЛрдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ 20XX рдХрд╛рд░реНрдб рд╣реИрдВред рд╕рдВрднрд╡рддрдГ рдПрдХ рдЕрджреНрдпрддрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЕрдкрдбреЗрдЯ: рдЪреВрдВрдХрд┐ рдореИрдВ рдбреБрдЕрд▓-рдмреВрдЯрд┐рдВрдЧ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд╕рдорд╕реНрдпрд╛ рд╡рд╣рд╛рдВ рдмрдиреА рд░рд╣рддреА рд╣реИред
рд╡рд┐рдВрдбреЛрдЬ 10
рдПрдирд╡реАрдбрд┐рдпрд╛-рдЪрд╛рд▓рдХ 445.87
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИ
рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ рдХреЗ рд▓рд┐рдП 2.0.0 рдиреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛:
tf.config.experimental.set_memory_growth(tf.config.experimental.list_physical_devices('GPU')[0],True)
рдзрдиреНрдпрд╡рд╛рдж!!! рд╣рдЬрд╝рд╛рд░реЛрдВ рдзрдиреНрдпрд╡рд╛рдж !!!!!!!!!!!!!!!
рдУрдПрд╕: ubuntu 18.04 lts
рдЪрд╛рд▓рдХ рд╕рдВрд╕реНрдХрд░рдг: 435.21
рдХреВрдбрд╛: рдХреБрдбрд╛рдЯреБрд▓рдХрд┐рдЯ 10.1
CUDNN: cudnn-7.6.5-cuda10.1_0
рдореИрдВрдиреЗ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЛ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛
conda create -n tf-gpu tensorflow-gpu
cudatoolkit рдФрд░ cudnn рдкрд╣рд▓реЗ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдирд╛рдХреЛрдВрдбрд╛ рджреНрд╡рд╛рд░рд╛ рдСрдЯреЛ-рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рдПрдХ рд╣реА рд╕рд╡рд╛рд▓ рд╣реИ, рддреНрд░реБрдЯрд┐:
coreClock: 1.5315GHz coreCount: 3 deviceMemorySize: 1.96GiB deviceMemoryBandwidth: 44.76GiB/s
2020-05-12 17:58:44.119679: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-05-12 17:58:44.119694: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-05-12 17:58:44.119707: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10
2020-05-12 17:58:44.119719: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10
2020-05-12 17:58:44.119732: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10
2020-05-12 17:58:44.119744: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10
2020-05-12 17:58:44.119756: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-05-12 17:58:44.119819: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-05-12 17:58:44.120069: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-05-12 17:58:44.120277: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1697] Adding visible gpu devices: 0
2020-05-12 17:58:44.120308: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
2020-05-12 17:58:44.174976: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1096] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-05-12 17:58:44.175003: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] 0
2020-05-12 17:58:44.175012: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] 0: N
2020-05-12 17:58:44.175136: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-05-12 17:58:44.175392: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-05-12 17:58:44.175624: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:981] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-05-12 17:58:44.175844: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1241] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 1439 MB memory) -> physical GPU (device: 0, name: GeForce MX150, pci bus id: 0000:01:00.0, compute capability: 6.1)
2020-05-12 17:58:44.177113: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55abc3d20b80 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2020-05-12 17:58:44.177129: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): GeForce MX150, Compute Capability 6.1
2020-05-12 17:58:44.177749: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 376320000 exceeds 10% of system memory.
2020-05-12 17:58:44.787493: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 376320000 exceeds 10% of system memory.
WARNING:tensorflow:Layer my_model is casting an input tensor from dtype float64 to the layer's dtype of float32, which is new behavior in TensorFlow 2. The layer has dtype float32 because it's dtype defaults to floatx.
If you intended to run this layer in float32, you can safely ignore this warning. If in doubt, this warning is likely only an issue if you are porting a TensorFlow 1.X model to TensorFlow 2.
To change all layers to have dtype float64 by default, call `tf.keras.backend.set_floatx('float64')`. To change just this layer, pass dtype='float64' to the layer constructor. If you are the author of this layer, you can disable autocasting by passing autocast=False to the base Layer constructor.
2020-05-12 17:58:45.311821: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10
2020-05-12 17:58:45.467966: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2020-05-12 17:58:45.904025: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-05-12 17:58:45.913861: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-05-12 17:58:45.913978: W tensorflow/core/common_runtime/base_collective_executor.cc:217] BaseCollectiveExecutor::StartAbort Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node my_model/conv2d/Conv2D}}]]
рддреЛ рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдБ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдЕрдирд╕реБрд▓рдЭреА рд╣реИ (рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдореЗрдореЛрд░реА рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реИ)ред рджреЗрд╡ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреА рдЧрдИ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐?
рдпрд╣ рдмрдЧ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ (1.13, 2.0, 2.1) рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдореИрдВрдиреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рджреЗрдЦрд╛ рдХрд┐ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ cuda 10. рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИрдВред рдХреЛрдб рдХрдИ рдХрд╛рд░реНрдбреЛрдВ рдкрд░ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рджреВрд╕рд░реЛрдВ рдкрд░ рдирд╣реАрдВред
рдХреНрдпрд╛ рджреЗрд╡ рдЯреАрдо рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣рдореЗрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЯреЛрдбреЛрд░рдлреНрд▓реЛ рд▓реЗрдпрд░ рд╕реЗ рдЕрдзрд┐рдХ рдХреНрдпреВрдбрд╛ рдЪрд╛рд▓рдХ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреА рдУрд░ рд╕рдВрдХреЗрдд рдХрд░рддрд╛ рд╣реИ? рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ NVIDIA рд╕рдорд░реНрдерди рдкреГрд╖реНрдареЛрдВ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ред рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛?
рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ рджреЗрд╡ рдЯреАрдо рд╕реЗ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕ рдмрдЧ рдХреЛ рдХреИрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ?
рдЕрдЧрд░ рд▓реЛрдЧ рджреЛ CuDNN 7 рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрде рдпрд╛ LD рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрде рдкрд░ рдЬрд╛рдБрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХреЛрдИ рдЫреЛрдЯреА рдпрд╛ рдкреИрдЪ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг рдмреЗрдореЗрд▓ рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ NVIDIA рдкрд░ рдПрдХ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдЦреЛрд▓реА, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛ рджреВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред
@samhodge
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ libcudnn рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдПрдирд╛рдХреЛрдВрдбрд╛ env рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рдЖрдо рддреМрд░ рдкрд░ рдПрдирд╛рдХреЛрдВрдбрд╛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд░рде рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдПрдХ рд╕реНрдЯреНрд░реЗрд╕ рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░рд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдЦреЛрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ
рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ рдПрдирд╛рдХреЛрдВрдбрд╛ env dir рд╕реЗ рдЖрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рдкреИрдХреЗрдЬ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред
Libcuda рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг 440.82 рд╣реИ рдФрд░ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ NVIDIA рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдореИрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ cudatoolkits рдФрд░ рд╡рд┐рднрд┐рдиреНрди libcudnn рдХреЗ рд╕рд╛рде рдЕрдиреНрдп anaconda env lib dirs рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ LD_LIBRARY_PATH рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЯреНрд░реЗрд╕ рдПрдХ рд╣реА рд░рд╣рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ lbcudnn рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рддреАрд╕рд░рд╛ libcuxyz рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ GPU рдкрд░ (рдореИрдВрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ GPU рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдХ рд╣реА рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдХреБрдЫ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рд╡реЗ рд╕рднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рд╕рдХреНрд╖рдо рд╣реИред
(tf2.1) m3088.roebel: (test_sd) 510> grep open trace.log | grep libcu | grep -v -- -1
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libcuda.so.1", O_RDONLY|O_CLOEXEC) = 4
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcudart.so.10.1", O_RDONLY|O_CLOEXEC) = 11
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcublas.so.10", O_RDONLY|O_CLOEXEC) = 11
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../.././libcublasLt.so.10", O_RDONLY|O_CLOEXEC) = 11
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcufft.so.10", O_RDONLY|O_CLOEXEC) = 11
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcurand.so.10", O_RDONLY|O_CLOEXEC) = 11
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcusolver.so.10", O_RDONLY|O_CLOEXEC) = 11
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcusparse.so.10", O_RDONLY|O_CLOEXEC) = 11
openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcudnn.so.7", O_RDONLY|O_CLOEXEC) = 11
рдореИрдВ Ubuntu 20.04 рдкрд░ GeForce RTX 2060 рд╕реБрдкрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдШрдиреЗ рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдирдПрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди CNN рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
tf.config.experimental.set_memory_growth(tf.config.list_physical_devices('GPU')[0], True)
рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред
рдореИрдВрдиреЗ https://www.tensorflow.org/install/gpu рдФрд░ nvidia-smi
рд╢реЛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛:
Driver Version: 440.64.00
CUDA Version: 10.2
рдореЗрд░рд╛ рдХреЛрдВрдбрд╛ env рд╣реИ:
cudatoolkit 10.1.243 h6bb024c_0
cudnn 7.6.5 cuda10.1_0
tensorflow-gpu 2.1.0 h0d30ee6_0
1.15 рдХреЗ рд╕рд╛рде рдПрдХ conda env рдореЗрдВ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
export TF_FORCE_GPU_ALLOW_GROWTH=true
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХрд╛ рдерд╛ рдХрд┐ tf.config.experimental.set_memory_growth(tf.config.list_physical_devices('GPU')[0], True)
рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ TensorFlow GPU рд╕рдкреЛрд░реНрдЯ рд╡реЗрдмрдкреЗрдЬ рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
@samhodge
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ libcudnn рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдПрдирд╛рдХреЛрдВрдбрд╛ env рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
рдЖрдо рддреМрд░ рдкрд░ рдПрдирд╛рдХреЛрдВрдбрд╛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд░рде рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИредрдореИрдВрдиреЗ рдПрдХ рд╕реНрдЯреНрд░реЗрд╕ рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░рд┐рдпреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдЦреЛрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ
рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ рдПрдирд╛рдХреЛрдВрдбрд╛ env dir рд╕реЗ рдЖрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рдкреИрдХреЗрдЬ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред
Libcuda рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг 440.82 рд╣реИ рдФрд░ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ NVIDIA рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИредрдореИрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ cudatoolkits рдФрд░ рд╡рд┐рднрд┐рдиреНрди libcudnn рдХреЗ рд╕рд╛рде рдЕрдиреНрдп anaconda env lib dirs рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ LD_LIBRARY_PATH рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЯреНрд░реЗрд╕ рдПрдХ рд╣реА рд░рд╣рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ lbcudnn рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рддреАрд╕рд░рд╛ libcuxyz рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ GPU рдкрд░ (рдореИрдВрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ GPU рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдХ рд╣реА рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдХреБрдЫ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рд╡реЗ рд╕рднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рд╕рдХреНрд╖рдо рд╣реИред(tf2.1) m3088.roebel: (test_sd) 510> grep open trace.log | grep libcu | grep -v -- -1 openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libcuda.so.1", O_RDONLY|O_CLOEXEC) = 4 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcudart.so.10.1", O_RDONLY|O_CLOEXEC) = 11 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcublas.so.10", O_RDONLY|O_CLOEXEC) = 11 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../.././libcublasLt.so.10", O_RDONLY|O_CLOEXEC) = 11 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcufft.so.10", O_RDONLY|O_CLOEXEC) = 11 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcurand.so.10", O_RDONLY|O_CLOEXEC) = 11 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcusolver.so.10", O_RDONLY|O_CLOEXEC) = 11 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcusparse.so.10", O_RDONLY|O_CLOEXEC) = 11 openat(AT_FDCWD, "/data/anasynth/anaconda3/envs/tf2.1/lib/python3.7/site-packages/tensorflow_core/python/../../../../libcudnn.so.7", O_RDONLY|O_CLOEXEC) = 11
рддреЛ рддреБрдо рдореЗрд░реА рдмрд╛рдд рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реБрдЖ рдХреА рддрд░рд╣ рдХрд░ рд░рд╣реЗ рд╣реИрдВ libcudnn.so.7
рдХрд╣рдирд╛ рдирд╣реАрдВ рд╣реИ 7.XXX.YYY
рдЙрд╕рдХреЗ рдКрдкрд░ 7.XXX.YYY
CUDA рдкрд░ рд╣реИ рдПрдХ рдФрд░ dependancy 10.2
10.1
10.0
9.2
9.1
9.0
рдЖрджрд┐
рдореИрдВрдиреЗ рддрдм рд╕реЗ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреЗрдЦреА рд╣реИ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрде рдХрд╛ рдкреНрд░рдмрдВрдзрди рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЬреНрдЮрд╛рдд рдЖрдХрд╛рд░ рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд▓рдХреНрд╖рд┐рдд GPU рдХреЗрд╡рд▓ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдореГрддрд┐ рдФрд░ рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдХрд┐рддрдирд╛ CUDA рд╕реНрдореГрддрд┐ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬрдм рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдЧреНрд░рд╛рдл рдХрд╛ рдХрд┐рддрдирд╛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ?
@ рдХреЙрдЧреНрдиреЗрдЯ-рдбреЙрдХреНрд╕
рддреЛ рдЖрдк рдореЗрд░реА рдмрд╛рдд рдХреЛ рдЧрд▓рдд рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВред
рдЖрдкрдиреЗ рдЬреЛ рд╕рд╡рд╛рд▓ рдЙрдард╛рдпрд╛ рдерд╛, "рдХреНрдпрд╛ рд▓реЛрдЧ рдЪреЗрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рджреЛ рдПрд▓рдбреАрдПрдирдПрди 7 рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рдПрд▓рдбреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрде рд╣реИрдВ"ред рдФрд░ рдореЗрд░рд╛ рдЬрд╡рд╛рдм рдерд╛: рдореИрдВрдиреЗ рдпрд╣ рдЬрд╛рдБрдЪ рдХреА рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╣реИред
рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдЯреНрд░реЗрд╕ рднреЗрдЬрд╛ рд╣реИред
рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдкрде рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ рдореИрдВрдиреЗ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреЗрдЦреА рд╣реИ
рд░рд╛рд╕реНрддреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
рдореИрдВ рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реВрдВ! рдореИрдВрдиреЗ рдПрдХ рдХреЛрдВрдбрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реБрд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ! рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдПрдирд╛рдХреЛрдВрдбрд╛ рджреНрд╡рд╛рд░рд╛ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ред
рд╡реИрд╕реЗ рднреА рдЖрдк рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдмрд╣реБрдд рдореВрд░реНрдЦ рд╣реВрдВ, рдПрдирд╛рдХреЛрдВрдбрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдХреБрдВрдЖ
рдореИрдВрдиреЗ рдЕрдм рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рд╣реИ
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ / рдЯреА рдПрдирд╕реЗрдВрдлрд╝реНрд▓реЛ: 2.1.0-gpu-py3
рдФрд░ рд╡рд╣рд╛рдВ рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдВред рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдирд┐рд░реНрдпрд╛рдд TF_FORCE_GPU_ALLOW_GROWTH = рд╕рдЪ
рдХреНрдпрд╛ рдореИрдВ рдХрд┐рд╕реА рднреА рдмреЗрд╣рддрд░ рдкрде рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдФрд░ рдЬреНрдЮрд╛рдд рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рдЧреНрд░рд╛рдл рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рд▓рдХреНрд╖рд┐рдд GPU рдиреЗ рдХреЗрд╡рд▓ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рддрдирд╛ CUDA рдореЗрдореЛрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬрдм рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдЧреНрд░рд╛рдл рдХрд╛ рдХрд┐рддрдирд╛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ?
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЧреНрд░рд╛рдл рдирд╣реАрдВ рд╣реИ (рдпрд╛ рдмреЗрд╣рддрд░ рдХрд╣реЗрдВ рддреЛ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ рдЧреНрд░рд╛рдл рд╣реЛ)! рдореИрдВ рд╕рд┐рд░реНрдл рдЗрди рдЪрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ
import tensorflow as tf
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32), filters=tf.zeros((2,2,20,20), dtype=tf.float32), strides=(1,1,1,1), padding="VALID")
рдФрд░ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рддреАрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдЗрди рддреАрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рдмрд╛рдж рд╣рдореЗрд╢рд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдореИрдВрдиреЗ рдЕрдкрдиреА рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдпрд╣ рд╕рдордЭрд╛рдпрд╛ рдерд╛)ред
рдмрд╕ рдЗрд╕рдХреЗ рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд╛рдЗрдЯреНрд╕ рдЧрд┐рдирд╛: <83kB рдбреЗрдЯрд╛ рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред GPU рдЦрд╛рд▓реА рд╣реИ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рддрд╛, рдФрд░ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдЪрд▓ рд░рд╣реА рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ 4GB рдпрд╛ 11GB рдЙрдкрд▓рдмреНрдз рд╣реИрдВ! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ nvidia-smi рдЪрд▓рд╛рдирд╛ рдЬрд╛рдирддрд╛ рд╣реВрдБ! рддреЛ рдХрд╛рд░реНрдб рдЦрд╛рд▓реА рд╣реИ рдлрд┐рд░ рднреА рдореИрдВ рдЗрди 4 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ рдЬрд┐рдирдХреЗ рд▓рд┐рдП 84kB рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ!
рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╕реНрдореГрддрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛рдлреА рднрд┐рдиреНрди рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдпреЗ рднреА рд╣реИрдВред рдЕрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрдирдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдХреНрд╖рдо рд╣реВрдВред
рд╡реИрд╕реЗ рднреА рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
@roebel рдЖрдкрдиреЗ cpp рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @sanjoy рдХреА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреА рдереА https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -561366750?
рдореИрдВрдиреЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕-рдкрд╛рд╕ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдЙрдирдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдЗрддрдиреА рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдФрд░ рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП gcc рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП 1.15 рдиреЗ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдФрд░ 1.13 рдХреЛ рдХреЛрдИ рднреА рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╡реИрд╕реЗ рднреА рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдХреБрдЫ рд╣рдж рддрдХ рдмреЗрдХрд╛рд░ рдерд╛ред
@roebel рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдЗрд╕реЗ рджреЗрдЦреЗрдВ https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -450549043
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рд╕реНрдореГрддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдиреЗ рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рди рд╣реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдореЗрд░реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред
@samhodge
рд╣рд╛рдВ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рдмрдЧ рд╣реИ рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
@odinsbane
рдзрдиреНрдпрд╡рд╛рдж, рдирд╣реАрдВ, рдореИрдВрдиреЗ рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдерд╛ред рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг tf2.2.0 рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВрдиреЗ рдЯреЗрдВрд╕рд░рдлреНрд▓реЛ 2.2 рдХреЗ рд╕рд╛рде рдбреЙрдХрдЯрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рдХреНрдпреВрдбрд╛ 10.1 рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереА, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдПрдХ ubuntu рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдХреЗрд╡рд▓ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдореЗрд░рд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб (RTX 2080) рд╣реИ рдЬреЛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рдЕрд▓рдЧ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2018 рдХреЗ рдмрд╛рдж рд╕реЗ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред
@ рдХреЙрдЧреНрдиреЗрдЯ-рдбреЙрдХреНрд╕
рдФрд░ рдЬреНрдЮрд╛рдд рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рдЧреНрд░рд╛рдл рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рд▓рдХреНрд╖рд┐рдд GPU рдиреЗ рдХреЗрд╡рд▓ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рддрдирд╛ CUDA рдореЗрдореЛрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬрдм рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдЧреНрд░рд╛рдл рдХрд╛ рдХрд┐рддрдирд╛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ?
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЧреНрд░рд╛рдл рдирд╣реАрдВ рд╣реИ (рдпрд╛ рдмреЗрд╣рддрд░ рдХрд╣реЗрдВ рддреЛ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ рдЧреНрд░рд╛рдл рд╣реЛ)! рдореИрдВ рд╕рд┐рд░реНрдл рдЗрди рдЪрд╛рд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ
import tensorflow as tf tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128) tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2))) tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32), filters=tf.zeros((2,2,20,20), dtype=tf.float32), strides=(1,1,1,1), padding="VALID")
рдФрд░ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рддреАрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдХреНрд░рдо рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдЗрди рддреАрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рдмрд╛рдж рд╣рдореЗрд╢рд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдореИрдВрдиреЗ рдЕрдкрдиреА рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдпрд╣ рд╕рдордЭрд╛рдпрд╛ рдерд╛)ред
рдмрд╕ рдЗрд╕рдХреЗ рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдмрд╛рдЗрдЯреНрд╕ рдЧрд┐рдирд╛: <83kB рдбреЗрдЯрд╛ рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХ рд╣реИред GPU рдЦрд╛рд▓реА рд╣реИ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рддрд╛, рдФрд░ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдЪрд▓ рд░рд╣реА рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ 4GB рдпрд╛ 11GB рдЙрдкрд▓рдмреНрдз рд╣реИрдВ! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ nvidia-smi рдЪрд▓рд╛рдирд╛ рдЬрд╛рдирддрд╛ рд╣реВрдБ! рддреЛ рдХрд╛рд░реНрдб рдЦрд╛рд▓реА рд╣реИ рдлрд┐рд░ рднреА рдореИрдВ рдЗрди 4 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ рдЬрд┐рдирдХреЗ рд▓рд┐рдП 84kB рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ!
рдХреНрдпрд╛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЬрдм рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ 50 ms рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд░рд╣реЗ рдереЗ, рддреЛ nvidia-smi рдкрд░ рдШрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛?
рдЗрд╕ рд╕реБрдзрд╛рд░ рдХреЛ рджреЗрдЦреЗрдВ рдЬреЛ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -492-2226
рдпрд╣рд╛рдБ 4 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреЛрд╕реНрдЯ рд╣реИред
рдпрд╛ рдЖрдк рджреЛрд╕реНрддрд╛рдирд╛ рдореИрдиреБрдЕрд▓ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ:
https://www.tensorflow.org/guide/gpu#limiting_gpu_memory_growth
рддреЛ рдЖрдк рдЕрдкрдиреЗ рд░рдирдЯрд╛рдЗрдо рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдмрджрд▓рдХрд░ рдХреЛрдб рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдкреИрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Another way to enable this option is to set the environmental variable TF_FORCE_GPU_ALLOW_GROWTH to true. This configuration is platform specific.
@sanjoy @odinsbane
рдЦреБрд╢рдЦрдмрд░реА!
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -561666450
рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рд╕реЗ рдПрдирд╛рдХреЛрдВрдбрд╛ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рд░реЗрд╕рд┐рдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 2.1 рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рд╣реИ
https://github.com/AnacondaRecipes/tensorflow_recipes
рдореИрдВрдиреЗ MinSystemMemory рдореЗрдВ рджреЛ рдкреНрд░рд┐рдВрдЯ рдЬреЛрдбрд╝реЗ рдЬреЛ рдЙрдкрд▓рдмреНрдз_рдореЗрд░реА рдФрд░ min_system_memory рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред
рдЯреАрдПрдл рдорд╛рдирдХ рд▓реЙрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ GeForce GTX 1050 Ti
рд╕рд╛рде рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░
рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ
TF_CPP_MIN_LOG_LEVEL=2 python run_cuda.py
=========================================================
MinSystemMemory: available_memory::4163764224
MinSystemMemory: min_system_memory::314572800
=========================================================
1 Physical GPUs, 1 Logical GPUs
2020-05-21 09:44:32.143642: E tensorflow/stream_executor/cuda/cuda_fft.cc:223] failed to make cuFFT batched plan:5
2020-05-21 09:44:32.143671: E tensorflow/stream_executor/cuda/cuda_fft.cc:426] Initialize Params: rank: 1 elem_count: 512 input_embed: 512 input_stride: 1 input_distance: 512 output_embed: 257 output_stride: 1 output_distance: 257 batch_count: 20
2020-05-21 09:44:32.143677: F tensorflow/stream_executor/cuda/cuda_fft.cc:435] failed to initialize batched cufft plan with customized allocator: Failed to make cuFFT batched plan.
Aborted
nvidia-smi рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ GPU рдореЗрдВ 4040MiB рд╣реИ, рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдХрд╛рд░реНрдб рдкрд░ X рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ 13MiB рд╣реИ рддрд╛рдХрд┐ рд╕рдВрдЦреНрдпрд╛ рдареАрдХ рд▓рдЧреЗред
min_system_memory рдЗрд╕ рддрд░рд╣ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ
min_system_memory =
std::max(int64{314572800}, static_cast<int64>(available_memory * 0.05));
рддреЛ рдЕрдзрд┐рдХрддрдо рд░рд╛рд╢рд┐ рдУ рдореЗрдореЛрд░реА рдХреЛ рд╡реИрд╕реЗ рднреА рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ TF_FORCE_MIN_SYSTEM_MEMORY_MB рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ min_system_memory рдХреЛ рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдЬреЛрдбрд╝рд╛ред
рдлрд┐рд░ рджреМрдбрд╝ рд░рд╣рд╛ рд╣реИ
TF_FORCE_MIN_SYSTEM_MEMORY_MB=310 TF_CPP_MIN_LOG_LEVEL=2 python run_cuda.py
=========================================================
MinSystemMemory: available_memory::4163764224
MinSystemMemory: min_system_memory::314572800
MinSystemMemory: forced min_system_memory::325058560
=========================================================
1 Physical GPUs, 1 Logical GPUs
done
рд╕рдорд╕реНрдпрд╛ рд╕реБрд▓рдЭ рдЧрдИ рд╣реИ!
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ RTX рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдирд╣реАрдВ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрдм рд╡реЗ рд╡рд╛рдкрд╕ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдЕрдЧрд░ рдХреЛрдИ рднреА рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдб рдкрд░ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдореИрдВ ubuntu linux рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдкреИрдХреЗрдЬ рдФрд░ рдХреЛрдВрдбрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЕрдЪреНрдЫрд╛ рдПрдХ @roebel !
рдпрд╣ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдбреЙрдХреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
@samhodge @sanjoy @odinsbane
рдпрд╣ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдбреЙрдХреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдЬрд╝рд░реВрд░, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдпрдж рдЕрдиреНрдп рдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдореЗрд░реЗ GTX 1050 рдХреЗ рд▓рд┐рдП рдХреБрд▓ рдореЗрдореЛрд░реА 4GB рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдмрд░рдХрд░рд╛рд░ рд╣реИ
рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХрддрдо (300MB, 4GB * 0.05) рд╣реИред рддреЛ GTX1050 рдХреЗ рд▓рд┐рдП рдпрд╣ 300MB рд╣реЛрдЧрд╛ рдЬреЛ рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ 310 рдПрдордмреА рддрдХ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
RTX2080 рдХреЗ рд▓рд┐рдП рдЕрдм рдХреБрд▓ рдореЗрдореЛрд░реА 11GB рд╣реИ рдЬреЛ рдЕрдзрд┐рдХрддрдо (300MB, 11GB * 0.05) рд╣реИ
рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдХрд╛ рдЪрдпрди 550MB рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрд┐ 1050 рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реИ
рдЖрдо рддреМрд░ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рддрдХ рдлрд┐рд░ рд╕реЗ рдЖрд░рдЯреАрдПрдХреНрд╕ 2080 рдЬреАрдкреАрдпреВ рддрдХ рдкрд╣реБрдВрдЪ рдкрд╛рдКрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛
рдореБрдЭреЗ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ
@samhodge @sanjoy @odinsbane
рдЕрдВрдд рдореЗрдВ рдореИрдВ rtx 2080 рдХрд╛рд░реНрдб рдкрд░ рдкреИрдЪ рдХреА рдЧрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред
рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдкреИрдЪреЗрдб рд╡рд░реНрдЬрди рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдлрд┐рд░ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
import tensorflow as tf
tf.signal.stft(tf.zeros(3000, dtype=tf.float32), 512, 128)
tf.matmul(tf.zeros((2,2,2)), tf.zeros((2,2,2)))
tf.nn.conv2d(tf.zeros((2,20,20,20), dtype=tf.float32), filters=tf.zeros((2,2,20,20), dtype=tf.float32), strides=(1,1,1,1), padding="VALID")
рдФрд░ рдпрд╣рд╛рдБ gpu_device.cc рд╕реЗ available memory
рдХрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдп Min_system_memory
рд░реВрдк рдореЗрдВ gpu_device.cc рдФрд░ рдореЗрдВ рдЪрдпрдирд┐рдд
min value of the min_system_memory
рдореБрдЭреЗ рдЧрд░реНрднрдкрд╛рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдХрд╛рд░реНрдб | AvailMem | Def MinSysMem | рдЖрд╡рд╢реНрдпрдХ MinSysMem
: ------- |: ----------- |: ---------- |: --------------- --------
1050 рдЯреАрдЖрдИ | 4163764224 | 314572800 | 325058560 рд╣реИ
1080 TI | 11567431680 | 578371584 | 335544320 рд╣реИ
2080 рдЯреАрдЖрдИ | 11381964800 | 569098240 | 618659840 рд╣реИ
рддреЛ рдЬрдмрдХрд┐ 1050 рдФрд░ 1080 рдПрдХ рд╣реА рдореЗрдореЛрд░реА рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ
RTX2080 рдХреЛ рд▓рдЧрднрдЧ рджреЛрдЧреБрдиреА рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛
рдореЗрд░реЗ рд▓рд┐рдПред
рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рддреБрд▓рдиреАрдп рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢?
@roebel
рдореИрдВрдиреЗ рдЕрдкрдиреЗ C ++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд┐рдпрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ рдЬреЛ рдЖрдпрд╛ рд╣реИ рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдерд╛ред
рдореЙрдбрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рд╣реА GPU рдкрд░ рдореЙрдбрд▓ рдЪрд▓рд╛рдПрдВред
рддреЛ рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдЬреЛ рдореЙрдбрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рд╡рд╣ рдорд╛рддреНрд░рд╛рддреНрдордХ рд╣реИред
рддреЛ рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд░реВрдк рдореЗрдВ GPU рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдЙрд╕ рдореЙрдбрд▓ рдХреЛ рдлрд┐рдЯ рдХрд░реЗрдЧреАред
рдлрд┐рд░ рдЖрдкрдХреЛ рдпрд╣ рднреА рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдб рдкрд░ рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рдХрд┐ рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдзреАрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЙрд╕реА рд╕рдордп CUDA рдореЗрдореЛрд░реА рдХрд╛ рдФрд░ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд▓реЗрдХрд┐рди рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдПрдХ рддрд░рдл, рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдХреЛ рдореБрдлреНрдд рдореЗрдВ рдорд╛рдкрдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ cudaMemInfo
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рддреЛ рдЗрд╕ рдкреНрд░рд╛рд╡рдзрд╛рди рдкрд░ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП cudaMemInfo
рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдореЙрдбрд▓ рдХреЛ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдореЗрдореЛрд░реА рдореБрдлрд╝реНрдд рд╣реИ рдФрд░ cudaMemInfo
рдПрдХ рдмрд╛рд░ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рддрдм рдФрд░ рдХреЗрд╡рд▓ рддрдм рдЖрдк рдореЙрдбрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдХрд╛рд░реНрдб рдкрд░ рдЙрдкрд▓рдмреНрдз рд╡реАрдЖрд░рдПрдПрдо рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЖрд╡рдВрдЯрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡реИрд╕реЗ рднреА рдореЗрд░реА рдмреЗрддрд░рддреАрдм рдмрдбрд╝рдмрдбрд╝рд╛ рд╕реЗ рдШрд░ рд▓реЗ рд▓реЛ cudaMemInfo
рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрд▓рдмреНрдз рд╕реНрдореГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ Pascal рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ cudaMemInfo
рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдЯреНрдпреВрд░рд┐рдВрдЧ рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдб рдкрд░ рднрд┐рдиреНрди рд╣реЛ, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдореИрдВ рдХрд┐рд╕реА рд╕реЗ рднреА рд▓реБрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред
рд╣рд╛рдБ, рдореБрдЭреЗ cudaMemInfo
рд╕рдВрджрд░реНрдн рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕ рддрд░рд╣ рдХреЗ рдкрджрдЪрд┐рд╣реНрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдЕрдзрд┐рдХрддрдо 300Mb рдФрд░ рдХрд╛рд░реНрдб рдХреА рдореЗрдореЛрд░реА рдХрд╛ 5% рд╣реЛрдЧрд╛ред
рдкрд░ рдПрдХ рдирдЬрд╝рд░ рд░рдЦрдирд╛:
рдРрд╕рд╛ рд▓рдЧрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддрд┐ se рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрд▓реА-рдФрд░-рдорд╛рдЙрд╕ рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
IMO рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЖрд░рдореНрдн рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ BFC рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛ рдХреЛ GPU рдХреА рд╢реЗрд╖ рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓реЗред
CC @chsigg
рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЛ рдпрд╣ рддрднреА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рд╕реНрдореГрддрд┐ рд╡реГрджреНрдзрд┐ рдмрдВрдж рд╣реЛред рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ 2080 рдХреЗ рд▓рд┐рдП 580MB рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рд╕рднреА рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рд╕реЗ рддреАрди рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рдХреБрдЫ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдПред рдореИрдВ рдХреЗрд╡рд▓ 1080 рдФрд░ 2080 рдХрд╛рд░реНрдбреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рдЖрдк рдЕрдХреЗрд▓реЗ conv2d рдирд╣реАрдВ рдкрд╛рддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдмреНрд▓рд╛рд╕ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИ
GPU | MatMul | STFT | Conv2D + MatMUL | MatMul + STFT | MATMUL + STFT + Conv2D |
: --- |: --- |: --- |: --- |: --- |: ---
1080 | 140 рдПрдордмреА | 130 рдПрдордмреА | 290 рдПрдордмреА | 170 рдПрдордмреА | 320 рдПрдордмреА
2080 | 190 рдПрдордмреА | 190 рдПрдордмреА | 520 рдПрдордмреА | 250 рдПрдордмреА | 580 рдПрдордмреА
рдХреЛрдИ рдпрд╣ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ 2080 рдореЗрдВ рдХреНрдпреВрдбрд╛ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдУрд╡рд░рд╣реЗрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЕрдзрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдУрд╡рд░рд╣реЗрдб рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдУрд╡рд░рд╣реЗрдб <100MB
рд▓реЗрдХрд┐рди Conv2D рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реА рдпрд╣ >220MB
рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдЧрд░ @samhodge рдиреЗ NVIDIA рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕реБрдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЗрд░рд╛рджрд╛ рд╣реИред
рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдореИрдВрдиреЗ рдореЗрдореЛрд░реА рд╡реГрджреНрдзрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рд╕реЗрдХреНрд╢рди рд▓рд┐рдорд┐рдЯ рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рдореЗрдВ рдХреЛрдб рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ
(рдпрд╣ GitHub рдореЗрдВ рдореЗрд░реА рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рд╣реИ)
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднреА рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдореБрджреНрджрд╛ рд░рдЦрд╛ рдерд╛ред GPU рдореЗрдореЛрд░реА рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред https://github.com/tensorflow/tensorflow/issues/25160#issuecomment -643706167
рдореИрдВ Ubuntu 20.04 рдкрд░ GeForce RTX 2060 рд╕реБрдкрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдШрдиреЗ рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдирдПрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди CNN рдкрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ
Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
tf.config.experimental.set_memory_growth(tf.config.list_physical_devices('GPU')[0], True)
рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред
рдореИрдВрдиреЗ https://www.tensorflow.org/install/gpu рдФрд░nvidia-smi
рд╢реЛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛:
Driver Version: 440.64.00 CUDA Version: 10.2
рдореЗрд░рд╛ рдХреЛрдВрдбрд╛ env рд╣реИ:cudatoolkit 10.1.243 h6bb024c_0 cudnn 7.6.5 cuda10.1_0 tensorflow-gpu 2.1.0 h0d30ee6_0
1.15 рдХреЗ рд╕рд╛рде рдПрдХ conda env рдореЗрдВ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
export TF_FORCE_GPU_ALLOW_GROWTH=true
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХрд╛ рдерд╛ рдХрд┐tf.config.experimental.set_memory_growth(tf.config.list_physical_devices('GPU')[0], True)
рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ TensorFlow GPU рд╕рдкреЛрд░реНрдЯ рд╡реЗрдмрдкреЗрдЬ рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╛рд░, рддреБрдореНрд╣рд╛рд░рд╛ рд╣рд▓ рдореЗрд░реА рдЬрд╛рди рдмрдЪрд╛рддрд╛ рд╣реИред
рдПрдирд╡реАрдбрд┐рдпрд╛ рдиреЗ рдХреЗрд╡рд▓ 440.100 рдФрд░ 450.51 (рдмреАрдЯрд╛) рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдкреНрд▓реЗ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ 440.100 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдЗрд╕рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдмреАрдЯрд╛ 450.51 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?
@eduardoscsouza
рдПрдирд╡реАрдбрд┐рдпрд╛ рдиреЗ рдХреЗрд╡рд▓ 440.100 рдФрд░ 450.51 (рдмреАрдЯрд╛) рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдкреНрд▓реЗ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ 440.100 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдЗрд╕рдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдмреАрдЯрд╛ 450.51 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?
рдореИрдВрдиреЗ 450.36.06 рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред https://github.com/tensorflow/tensorflow/issues/25160#issuecomment -643703167 рдЪреЗрдХ
рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб:
tf рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛
config = tf.compat.v1.ConfigProto ()
config.gpu_options.allow_growth = рд╕рдЪ
рд╕рддреНрд░ = tf.compat.v1.InteractiveSession (config = config)
_ рдХреГрдкрдпрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рд╣рдорд╛рд░реА GitHub рдиреАрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдо рдХреЗрд╡рд▓ рдЯреИрдЧ: Bug_template_
рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА
- рдХреНрдпрд╛ рдореИрдВрдиреЗ рдХрд╕реНрдЯрдо рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИ (TensorFlow рдореЗрдВ рджреА рдЧрдИ рд╕реНрдЯреЙрдХ рдЙрджрд╛рд╣рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд): рд╣рд╛рдБ рдФрд░ рдирд╣реАрдВ (рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ)
- рдУрдПрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рд╡рд┐рддрд░рдг (рдЬреИрд╕реЗ, рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ 16.04): рдордВрдЬрд╝рд░реЛ
- рдпрджрд┐ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ (рдЬреИрд╕реЗ iPhone 8, рдкрд┐рдХреНрд╕реЗрд▓ 2, рд╕реИрдорд╕рдВрдЧ рдЧреИрд▓реЗрдХреНрд╕реА):
- TensorFlow (рд╕реНрд░реЛрдд рдпрд╛ рдмрд╛рдЗрдирд░реА) рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд: tf-nightly-gpu (рджрд┐рд╕рдореНрдмрд░ 19, r1.13)
- TensorFlow рд╕рдВрд╕реНрдХрд░рдг (рдиреАрдЪреЗ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ): 1.13.0-dev20181219
- рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: 3.7.1
- Bazel рд╕рдВрд╕реНрдХрд░рдг (рдпрджрд┐ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди):
- рдЬреАрд╕реАрд╕реА / рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг (рдпрджрд┐ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди):
- CUDA / cuDNN рд╕рдВрд╕реНрдХрд░рдг: CUDA 10 cuDNN 7.4.1 рдХреЗ рд╕рд╛рде
- GPU рдореЙрдбрд▓ рдФрд░ рдореЗрдореЛрд░реА: RTX 2070 8GB
рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореИрдВ MNN рдкрд░ CNN рдореЙрдбрд▓ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рдореИрдВ GPU рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ рдореЗрд░рд╛ рд╕рд╛рдордирд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ
2018-12-20 20:09:13.644176: E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
рдореИрдВрдиреЗ рдХреБрдЫ рдЦреБрджрд╛рдИ рдХреА рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдореЗрдореЛрд░реА рдЗрд╢реНрдпреВ рд╣реИ (рдЬреЛ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ 32 рдЬреАрдмреА рдХреА рд░реИрдо рдФрд░ 64 рд╕реНрд╡реИрдк рдХреА рд╣реИред рдореИрдВ рдореЙрдбрд▓ рдЪрд▓рд╛рддреЗ рд╕рдордп htop рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ 20 + рдЬреАрдмреА рдореБрдлреНрдд рд╣реИ, рдЬреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ 8GB vRAM рдореИрдкрд┐рдВрдЧ рдлрд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
gpu_options.allow_growth = True
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдореЙрдбрд▓ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░os.environ['CUDA_VISIBLE_DEVICES'] = '-1'
рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдХреИрд╕реЗредрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
gpu_options.allow_growth = True
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ / рдореЙрдбрд▓ / рдЖрдзрд┐рдХрд╛рд░рд┐рдХ / mnist / рдореЙрдбрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдореЗрд░реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПредрд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб
import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import math import time # Killing optional CPU driver warnings os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # os.environ['CUDA_VISIBLE_DEVICES'] = '-1' tf.logging.set_verbosity(tf.logging.ERROR) class Model: def __init__(self, image, label): """ A Model class contains a computational graph that classifies images to predictions. Each of its methods builds part of the graph on Model initialization. Do not modify the constructor, as doing so would break the autograder. You may, however, add class variables to use in your graph-building. e.g. learning rate, image: the input image to the computational graph as a tensor label: the correct label of an image as a tensor prediction: the output prediction of the computational graph, produced by self.forward_pass() optimize: the model's optimizing tensor produced by self.optimizer() loss: the model's loss produced by computing self.loss_function() accuracy: the model's prediction accuracy """ self.image = image self.label = label # TO-DO: Add any class variables you want to use. self.prediction = self.forward_pass() self.loss = self.loss_function() self.optimize = self.optimizer() self.accuracy = self.accuracy_function() def forward_pass(self): """ Predicts a label given an image using convolution layers :return: the prediction as a tensor """ filter_1 = tf.Variable(tf.truncated_normal([3, 3, 1, 8], stddev=0.1)) conv_1 = tf.nn.conv2d(self.image, filter_1, [1, 1, 1, 1], "SAME") reshaped = tf.reshape(conv_1, shape=[50, -1]) L1 = reshaped.shape[1].value L2 = 500 W1 = tf.Variable(tf.random_normal([L1, L2], mean=0, stddev=0.01)) b1 = tf.Variable(tf.random_normal([L2], mean=0, stddev=0.01)) relu_1 = tf.nn.relu(tf.matmul(reshaped, W1) + b1) W2 = tf.Variable(tf.random_normal([L2, 10], mean=0, stddev=0.01)) b2 = tf.Variable(tf.random_normal([10], mean=0, stddev=0.01)) logits = tf.nn.relu(tf.matmul(relu_1, W2) + b2) return logits def loss_function(self): """ Calculates the model cross-entropy loss :return: the loss of the model as a tensor """ loss = tf.losses.softmax_cross_entropy(onehot_labels=self.label, logits=self.prediction) return loss def optimizer(self): """ Optimizes the model loss using an Adam Optimizer :return: the optimizer as a tensor """ learning_rate = 0.1 sgd = tf.train.GradientDescentOptimizer(learning_rate) train = sgd.minimize(self.loss) return train def accuracy_function(self): """ Calculates the model's prediction accuracy by comparing predictions to correct labels тАУ no need to modify this :return: the accuracy of the model as a tensor """ correct_prediction = tf.equal(tf.argmax(self.prediction, 1), tf.argmax(self.label, 1)) return tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) def main(): t_start = time.time() mnist = input_data.read_data_sets("data/mnist/", one_hot=True) batch_sz = 50 batch = 2000 inputs = tf.placeholder(shape=[batch_sz, 28, 28, 1], dtype=tf.float32) labels = tf.placeholder(shape=[batch_sz, 10], dtype=tf.float32) model = Model(inputs, labels) session_config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True)) sess = tf.Session(config=session_config) # sess = tf.Session() sess.run(tf.global_variables_initializer()) for i in range(batch): next_image, next_label = mnist.train.next_batch(batch_sz) next_image = next_image.reshape((batch_sz, 28, 28, 1)) sess.run(model.optimize, feed_dict={inputs: next_image, labels: next_label}) acc, test_images, test_labels = 0, mnist.test.images, mnist.test.labels test_batch = math.ceil(len(test_images) / batch_sz) for i in range(test_batch): batch_images = test_images[i * batch_sz: (i + 1) * batch_sz] batch_images = batch_images.reshape((batch_sz, 28, 28, 1)) batch_labes = test_labels[i * batch_sz: (i + 1) * batch_sz] acc += sess.run(model.accuracy, feed_dict={inputs: batch_images, labels: batch_labes}) acc /= test_batch print(acc) print(time.time() - t_start, 'seconds') return if __name__ == '__main__': main()
рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛редRTX 2060ubuntu 18.04рдЕрдЬрдЧрд░ 3.6
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
sess = InteractiveSession(config=config)
with sess.as_default():
process ...
рдирдорд╕реНрдХрд╛рд░ @ bm777
рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдореЗрд░реА рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рдж рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ
GPU рдореЙрдбрд▓ рдФрд░ рдореЗрдореЛрд░реА: RTX 2070 8GB
... рдЬреЛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ 32GB RAM рдФрд░ 64GB рд╣реИ
рд╕рдорд╕реНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рдирд╣реАрдВ рд╣реИ, рд╕рдорд╕реНрдпрд╛ GPU рдореЗрдореЛрд░реА рд╣реИ!
os.environ ['CUDA_VISIBLE_DEVICES'] = '-1'
рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ!
рдХреБрдЫ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг:
TF рдХреЗ рдСрдкрд░реЗрд╢рди рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
allow memory growth = false
: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ TF рдХрд┐рд╕реА рдореЛрдЯреЗ рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ
рдХрд┐рддрдиреА рдореЗрдореЛрд░реА рдЪрд╛рд╣рд┐рдПред рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -+ремрей,рейреп,релрей,ренрезрел TF рд╕реВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ max(300MB, GPU-MEM * fac)
рдЗрд╕ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдПред TF2.1 рдХреЗ рд▓рд┐рдП fac = 0.05
TF2.2 рдХреЗ рд▓рд┐рдП рдФрд░ рдпрджрд┐ рдореИрдВ
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ fac=0.07
ред рддреЛ рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ 8GB рд╣реИ рдЬреЛ TF2.1 рдХреЗ рддрд╣рдд GPU рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЗ рд▓рд┐рдП 400MB рджреЗрддрд╛ рд╣реИ
рдФрд░ TF2.2.2 рдХреЗ рддрд╣рдд 560MBред
рдореИрдВрдиреЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ GPU рдФрд░ TF21 рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдпрд╣рд╛рдБ рдХрд┐рдпрд╛ рд╣реИ: https://github.com/tensorflow/tensorflow/issues/24496#issuecomment -637715002 рдФрд░ рдпрд╣рд╛рдБ https://github.com/tensorflow/tensorflow / рдореБрджреНрджреЛрдВ / 24496 # рдЬрд╛рд░реА рдХрд░рдиреЗ -637715002
Conv2D рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╣рд╛рдБ 520MB рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЖрдкрдХреЛ TF21 рд╕реЗ рдХрдо рд▓реЗрдХрд┐рди TF22 рдХреЗ рддрд╣рдд рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЖрдк рдЕрдкрдиреЗ TF рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк TF2.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк TF2.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднрд┐рдиреНрди GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╡реИрд╕реЗ рднреА рддрдереНрдп рдпрд╣ рд╡рд┐рдлрд▓ рд╣реИред рдирд┐рдЪреЗ рджреЗрдЦреЛ
2) allow memory growth = true
: TF рдХрд┐рд╕реА рднреА рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╡реЗ рдЖрддреЗ рд╣реИрдВред TF рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдЗрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдореЗрдореЛрд░реА рд╡рд┐рдЦрдВрдбрди рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ off
рд╣реИред
рдореЗрд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд▓реЗрдирд╛:
рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХреА рдмрдбрд╝реА рд░реЗрдВрдЬ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ GPU рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдореЛрдб allow memory growth = false
рд╕рд╣реА рдорд┐рд▓рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ https://github.com/tensorflow/ рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ / рдореБрджреНрджреЗ / 24496 # рдЬрд╛рд░реАрдХрд░рдг -637950411)ред рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди: рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ TF2.2 рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ рдЕрдЧрд░ рдЖрдкрдХрд╛ GPU рдЫреЛрдЯрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (blas, Conv, FFT рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрдиреНрдп рд╣реИрдВ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдпрд╣ рдорд╛рдирдХрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдЗрди рд╕рднреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдмрджрд▓реЗ рдореЗрдВ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рджреВрд╕рд░реА рдУрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЛрд░реНрд╕рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЬрд▓реНрджреА рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рддреЛ рд╕реНрдореГрддрд┐ рд╡рд┐рдЦрдВрдбрди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реИрд╕реЗ рднреА рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдлрд╛рдпрджреЗрдордВрдж рд▓рдЧрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЫреЛрдЯреА рд╕реНрдореГрддрд┐ рд╡рд╛рд▓реЗ рдЬреАрдкреАрдпреВ рдХреЗ рд▓рд┐рдП рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХрд▓ рдореЙрдбрд▓ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдмрд▓реНрдХрд┐ allow memory growth = true
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ 4GB рд╕реЗ 11GB рддрдХ рдХреА рдореЗрдореЛрд░реА рд╡рд╛рд▓реЗ GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рддрд░реНрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП TF_FORCE_GPU_ALLOW_GROWTH = рд╕рд╣реА рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереАред
рдирдорд╕реНрдХрд╛рд░ @roebel
рдореБрдЭреЗ рднреА, рдореИрдВ рд╕реНрдореГрддрд┐ рдХреЗ рдЖрд╡рдВрдЯрди рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдм рд╣реИред
рдЕрдм рдпрд╣ рдЕрдЪреНрдЫреА GPU рдореЗрдореЛрд░реА рд▓рдЧрддреА рд╣реИ
рдЕрддреАрдд рдореЗрдВ, рдореИрдВрдиреЗ рдореЗрдореЛрд░реА рдХреЛ рдкреВрд░реНрд╡-рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛:
gpus = tf.config.experimental.list_physical_devices('GPU')
try:
tf.config.experimental.set_virtual_device_configuration(gpus[0],
tf.config.experimental.VirtualDeviceConfiguration(memory_limit=5044)])
"""process...."""
except Exception as e:
raise e
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ 6GB рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдФрд░ рдзрдиреНрдпрд╡рд╛рдж @roebel , рдЗрд╕ рдирдП рддреАрд░ TF_FORCE_GPU_ALLOW_GROWTH=true
рд▓рд┐рдП рдореЗрд░реЗ GPU рдХреЛ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП eb ред
рдореЗрд░рд╛ рднреА рдпрд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдореЗрд░реЗ 2070 рдЖрд░рдЯреАрдПрдХреНрд╕ рдкрд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЯрд╛рдЗрдЯрди рдЖрд░рдЯреАрдПрдХреНрд╕ рдкрд░ рдирд╣реАрдВ, рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдкрд░ред
рдмрд╕ CUDA 11 рдФрд░ cudnn 8.0 рдХреЗ рд╕рд╛рде Tensorflow 2.3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред рдпрд╣ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдореЗрд░реА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ config.gpu_options.allow_growth = True
рд╕рд╛рде рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 1.X рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рдмрд╕ CUDA 11 рдФрд░ cudnn 8.0 рдХреЗ рд╕рд╛рде Tensorflow 2.3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред рдпрд╣ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдореЗрд░реА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ
config.gpu_options.allow_growth = True
рд╕рд╛рде рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
2.2 рд╕реЗ 2.3 рддрдХ рдХреЗ рдЙрдиреНрдирдпрди рдХреЗ рд╕рд╛рде рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ TF_FORCE_GPU_ALLOW_GROWTH=false
рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ (рдХрдо рд╕реЗ рдХрдо рдЕрдм рдореИрдВ delf рдбреЗрдореЛ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ; рдХреБрдЫ рдФрд░ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдореИрдВ рдЕрднреА рднреА CUDA 10.1, Cudnn 7.6.5 рдкрд░ рд╣реВрдВред
рд╡рд╣рд╛рдБ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ 2 рдФрд░ python3 рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдп рд╣реИ ???
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ:
RTX 2080
рдореБрдЭреЗ рдпрд╣ рд╕рдВрджреЗрд╢ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ:
2020-08-20 12:38:27.172496: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2020-08-20 12:38:27.177708: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
Traceback (most recent call last):
File "/home/anantha/Desktop/RaspiCar/car.py", line 85, in <module>
tnet.train(x, y)
File "/home/anantha/Desktop/RaspiCar/car.py", line 65, in train
self.model.fit(x, y, epochs=epochs)
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py", line 66, in _method_wrapper
return method(self, *args, **kwargs)
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py", line 848, in fit
tmp_logs = train_function(iterator)
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py", line 580, in __call__
result = self._call(*args, **kwds)
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py", line 644, in _call
return self._stateless_fn(*args, **kwds)
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 2420, in __call__
return graph_function._filtered_call(args, kwargs) # pylint: disable=protected-access
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 1661, in _filtered_call
return self._call_flat(
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 1745, in _call_flat
return self._build_call_outputs(self._inference_function.call(
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/eager/function.py", line 593, in call
outputs = execute.execute(
File "/home/anantha/.local/lib/python3.8/site-packages/tensorflow/python/eager/execute.py", line 59, in quick_execute
tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[node sequential/conv2d/Conv2D (defined at /Desktop/RaspiCar/car.py:65) ]] [Op:__inference_train_function_951]
Function call stack:
train_function
рдпрджрд┐ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдореВрд▓ рдореЗрдВ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЙрдкрдЪрд╛рд░рд┐рдд рд╣реИрдВ (рдЬреЛ рдореИрдВ рдЖрдкрдХреА рд░рд┐рдкреЛрд░реНрдЯ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рди рд╕рдХрддрд╛ рд╣реВрдБ) рддреЛ рдХреБрдЫ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ рдЬреЛ рдЖрдк рдкрд┐рдЫрд▓реЗ 10-20 рдкрджреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдзрд╛рдЧрд╛ред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛:
config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.compat.v1.Session(config=config)
sess.as_default()
рдЖрд░рдЯреАрдПрдХреНрд╕ 2080 рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рднреА рдпрд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдлрд┐рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
рд╕рдмрдХреЛ рдзрдиреНрдпрд╡рд╛рдж
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо allow_growth
рдлрд┐рдХреНрд╕ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)
рдпрд╣рд╛рдБ RTX 2070ред рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм TF_FORCE_GPU_ALLOW_GROWTH=true
рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдиреЗ рдмрддрд╛рдпрд╛ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ) рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджреЗрддрд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдореБрдЭреЗ рдмрд╣реБрдд рд╕реА рдореЗрдореЛрд░реА рдорд┐рд▓реА рд╣реЛ):
2020-10-17 16:35:11.717658: I tensorflow/stream_executor/cuda/cuda_driver.cc:831] failed to allocate 3.87G (4159818752 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY: out of memory
рд▓реЗрдХрд┐рди рдореЗрд░реЗ GPU рдореЗрдВ 8GB рд╣реИ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗрд╡рд▓ 250MB рд╣реА рдЙрдкрдпреЛрдЧ рдореЗрдВ рдерд╛ред рддреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛, рдпрд╣ 3.87GB рдХреНрдпреЛрдВ рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? (рдмреИрдЪ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдерд╛; рднрд╛рд░ HDf5 рдлрд╝рд╛рдЗрд▓ 200MB рд╕реЗ рдХрдо рд╣реИ)
TF_FORCE_GPU_ALLOW_GROWTH = рд╕рдЪ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
tf.config.experimental.set_memory_growth (gpu, True) рдиреЗ рднреА рдХрд╛рдо рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:
GPU GTX 1650
рдХреНрдпреВрдбрд╛ -10-1 10.1.243-1
libcudn7 7.6.5.32-1-1 + cuda10.1
рдЙрдмрдВрдЯреВ 18.04.5 рдПрд▓рдЯреАрдПрд╕
рдЬреЛ рдХреЛрдИ рднреА рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ https://www.tensorflow.org/guide/gpu рдореЗрдВ рд╕реБрдЭрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
gpus = tf.config.experimental.list_physical_devices ('GPU')
рдЕрдЧрд░ gpus:
рдкреНрд░рдпрддреНрди:
# рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рдЬреАрдкреАрдпреВ рдореЗрдВ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
gpus рдореЗрдВ gpu рдХреЗ рд▓рд┐рдП:
tf.config.experimental.set_memory_growth (gpu, True)
рддрд╛рд░реНрдХрд┐рдХ_рдЧрдкрд╕ = tf.config.experimental.list_logical_devices ('GPU')
рдкреНрд░рд┐рдВрдЯ (len (gpus), "Physical GPUs", len (рддрд╛рд░реНрдХрд┐рдХ_gpus), "Logical GPU)")
рдИ рдХреЗ рд░реВрдк рдореЗрдВ RuntimeError рдХреЛ рдЫреЛрдбрд╝рдХрд░:
рдЬреАрдкреАрдпреВ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрдореЛрд░реА рдЧреНрд░реЛрде рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдкреНрд░рд┐рдВрдЯ (e)
рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╕ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ред
https://github.com/tensorflow/tfjs/issues/671#issuecomment -494832790
рдмрд╕ CUDA 11 рдФрд░ cudnn 8.0 рдХреЗ рд╕рд╛рде Tensorflow 2.3 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВред рдпрд╣ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдореЗрд░реА рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ
config.gpu_options.allow_growth = True
рд╕рд╛рде рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ 2.3.0 рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ:
tensorflow/stream_executor/cuda/cuda_dnn.cc:328] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
tensorflow.python.framework.errors_impl.UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
рдФрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб allow_growth = True
рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЬрдм рдореИрдВрдиреЗ рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдХреЛ 2.3.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛, рддреЛ рд▓рд╛рдЗрди allow_growth = True
рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рднреА рд╕рдорд╕реНрдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред
рдареАрдХ рд╣реИ, рдЗрд╕реЗ tf-nightly-gpu-2.0-рдкреНрд░реАрд╡реНрдпреВ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ ipython рдиреЛрдЯрдмреБрдХ рдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛:
Tetorflow.compat.v1 рдЗрдВрдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдирдкреНрд░реЛрдЯреЛ рд╕реЗ
Tetorflow.compat.v1 рд╕реЗ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ рдЖрдпрд╛рдд рдХрд░реЗрдВconfig = configProto ()
config.gpu_options.allow_growth = рд╕рдЪ
рд╕рддреНрд░ = рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рд╕рддреНрд░ (рд╡рд┐рдиреНрдпрд╛рд╕ = рд╡рд┐рдиреНрдпрд╛рд╕)
рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореИрдВ рдЕрдВрдд рдореЗрдВ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛
config.gpu_options.allow_growth = True
рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред