Экспортуруемый класс наследуемый от не экспортируемого

Я только что установил графический процессор 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.

1
задан 31 May 2018 в 12:05

1 ответ

Тут одно из двух:

Экспортировать 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();

   // поля, методы
};
2
ответ дан 6 June 2018 в 11:58

Другие вопросы по тегам:

Похожие вопросы: