"g++ не обнаружен", в то время как набор данных больше, существует ли ограничение на размер матрицы в GPU?

Я получил это сообщение при использовании Keras для обучения RNN для языковой модели с большим трехмерным тензором (созданным из текста, одним горячим кодированием и получающим форму (165717, 25, 7631)):

WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to 
execute optimized C-implementations (for both CPU and GPU) and will default to 
Python implementations. Performance will be severely degraded. To remove this 
warning, set Theano flags cxx to an empty string.
ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc 
installation and try again.

Но все идет хорошо, пока я ограничиваю размер данных, заданных на маленькие. Поэтому я удивляюсь, что Theano или CUDA ограничивают размер матрицы?

Кроме того, есть ли у меня лучший способ сделать одно горячее представление? Я имею в виду, что в большом трехмерном тензоре большинство элементов равно 0 из-за разогретого представления. Однако я не нашел слой, который принимает индексное представление слов.

Ответ 1

conda install mingw libpython

Убедитесь, что это установлено. Получите этот ответ из другого сообщения, fooobar.com/questions/555251/..., указанного в руководстве.

Ответ 2

Ваша установка Theano не завершена.

В вопросе, вставленном в вопрос, есть две проблемы:

ПРЕДУПРЕЖДЕНИЕ (theano.configdefaults): g++ не обнаружено! Теано будет неспособность выполнить оптимизированные C-реализации (как для процессора, так и для графического процессора) и будет по умолчанию использоваться для реализации Python. Производительность будет сильно деградировал. Чтобы удалить это предупреждение, установите флаги Theano cxx на пустая строка.

Я подозреваю, что вы видите это даже с небольшими размерами данных, но это предупреждение, поэтому все продолжает успешно работать (с использованием чистой реализации Python автоматически).

ERROR (theano.sandbox.cuda): nvcc-компилятор не найден в $PATH. Проверьте вашу установку nvcc и повторите попытку.

Это тот, который случается, когда размер данных увеличивается, потому что теперь используется GPU.

Оба сообщения указывают на неполную установку Theano. Первое указывает, что вы не настроили ваш компилятор С++ правильно. Второй означает, что вы не настроили CUDA правильно. Для устранения этих проблем необходимо следовать соответствующим разделам документации по установке. Обратите внимание, что просто делать pip install Theano недостаточно, если вы хотите использовать что-либо, кроме чистых реализаций Python.