Поскольку многие алгоритмы машинного обучения основаны на умножении матриц (или, по крайней мере, могут быть реализованы с использованием умножения матрицы), чтобы проверить мой GPU, я планирую создавать матрицы a, b, умножать их и записывать время, которое требуется для завершения вычислений.Тестирование GPU с умножением матрицы тензорного потока
Вот код, который будет генерировать две матрицы размерности 300000,20000 и умножать:
import tensorflow as tf
import numpy as np
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
#a = np.array([[1, 2, 3], [4, 5, 6]])
#b = np.array([1, 2, 3])
a = np.random.rand(300000,20000)
b = np.random.rand(300000,20000)
println("Init complete");
result = tf.mul(a , b)
v = sess.run(result)
print(v)
Является ли это достаточный тест для сравнения производительности графического процессора? Какие еще факторы следует учитывать?
классный, я думаю, должен опубликовать свой код в вашем ответе в дополнение к ссылке на код за пределами площадки. –
GPU не был обнаружен, если не было указано «os.environ [« CUDA_VISIBLE_DEVICES »] =« 1 »'. Работает с Windows 10, tensorflow-gpu (1.4), cuda_8.0.61_win10 и cudnn-8.0-windows10-x64-v6.0. – BSalita
Ошибка была «Невозможно назначить устройство для операции« Variable_1 »: операция была явно назначена/device: GPU: 0, но доступными устройствами являются [/ job: localhost/replica: 0/task: 0/device: CPU: 0]. Убедитесь, что спецификация устройства относится к допустимому устройству. ' – BSalita