Я бы лучше провел оптимизацию по памяти в ущерб скорости. А будет датасет на 100 мегабайт - будешь 64 гига покупать?
Попробуй формировать вектора только для каждого минибатча, а как минибатч пройдет - освобождать память. Т.е не сразу все в векторы переводить, а в процессе работы. Да - дольше. Да, будешь повторять все по новой в каждой эпохе. Но у эффективности по памяти обратная зависимость от эффективности по скорости...
Конфиг вполне нормальный, не смотря на то что в 560 CUDA версии 2.1, тем же TensorFlow не поддерживается для ускорения ( где минимум в текущей версии 3.0 ). У самого эта видюха на одном из компов. Поэтому если юзать CUDA хочешь, то советую прикупить новую видюху, а с памятью всегда проводить препроцессинг отдельно для минибатча, а не всего датасета.
P.S. Конфиг 1 в 1 как у моего второго компа))))