Я только что установил графический процессор Tensorflow на Ubuntu 18.04. Для этого есть много инструкций, но я думаю, что самый быстрый и простой способ обычно не используется, и я хочу поделиться им:
DRIVER NVIDIA:
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
nvidia-smi
CUDA: [ ! d2]
Обычно: «sudo apt install nvidia-cuda-toolkit» Однако это устанавливает версию 9.1, слишком новую на данный момент, и shadoworflow не запускается. Вместо этого загрузите CUDA 9.0: https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1704&target_type=runfilelocal Затем запустите (дополнительные сведения о первом line можно найти по адресу: Как установить CUDA 9 на Ubuntu 17.10):
sudo sh cuda_9.0.176_384.81_linux.run --override
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++
cd ~
sudo nano .bashrc
add at the end of the file:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
CTL+X to save and exit
CuDNN:
зарегистрироваться у разработчиков nvidia https: //developer.nvidia .com / cuda-90-download-archive? target_os = Linux & amp; target_arch = x86_64 & amp; target_distro = Ubuntu & amp; target_version = 1704 & amp; target_type = runfilelocal Загрузить 9.1 runtime & amp; библиотека разработчиков для 16.04 (Файлы cuDNN v7.1.3 Библиотека времени выполнения для Ubuntu16.04 (Deb) и amp; cuDNN v7.1.3 Библиотека разработчиков для Ubuntu16.04 (Deb)) Откройте файлы с помощью менеджера программ и установите их. Проверьте с помощью:
cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2
Установите библиотеки и тензорный поток:
sudo apt-get install libcupti-dev
pip3 install tensorflow-gpu
Проверьте:
in tensorflow check for GPU support
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Примечание. Запустите тензор или среду разработки с терминала , в противном случае для меня он не загружает переменные PATH.
Тут одно из двух:
Экспортировать some_private_class. Убрать использование определений some_private_class из публичных интерфейсов, ограничить только использование до объявления.
class some_private_class;
class EXPORTS_API some_public_class :{
// поля, методы
std::unique_ptr<some_private_class> m_p_private;
public:
some_public_class();
~some_public_class();
// поля, методы
};
class some_private_class;
class EXPORTS_API some_public_class :{
// поля, методы
std::unique_ptr<some_private_class> m_p_private;
public:
some_public_class();
~some_public_class();
// поля, методы
};