forked from ton4eg/coursera_pa
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request ton4eg#3 from sashulyak/master
Added FAQ for Tensorflow Docker container
- Loading branch information
Showing
4 changed files
with
190 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# F.A.Q. по работе с Tensorflow из Docker контейнера" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"Этот F.A.Q. посвящён проблемам, с которыми может столкнуться студент специализации Coursera «Машинное обучение и анализ данных» от МФТИ и Яндекса, если при выполнении практического задания 2й недели 5 курса он выберет тернистый путь установки _Tensorflow_ в виде контейнера _Docker_.\n", | ||
"\n", | ||
"Если в ходе выполнения задания вы столкнётесь с какими-то «техническими» проблемами, не описанными в данном F.A.Q., пишите на форум курса или в Slack-канал.\n", | ||
"\n", | ||
"Если вы найдёте решение своей проблемы самостоятельно, будем признательны, если вы сделаете pull-request в этот репозиторий. Таким образом вы очень поможете сообществу.\n", | ||
"\n", | ||
"Итак, поехали!" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Q:\n", | ||
"\n", | ||
"Я установил _Docker_ на _Windows 10_, но при запуске вижу вот такое окно. Что делать?\n", | ||
"\n", | ||
"![Включите виртуализацию](bios.png)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": { | ||
"collapsed": true | ||
}, | ||
"source": [ | ||
"# A:\n", | ||
"\n", | ||
"Нужно сделать буквально то, что просят в сообщении: включить виртуализацию в _BIOS_.\n", | ||
"\n", | ||
"Машины у всех разные, и настройки _BIOS_ выглядят тоже несколько по-разному, но во всех случаях вам нужно искать пункт, который выглядит как «_Virtualization_», «_VT_», «_VT-X_», «_AMD-V_» или содержит их упоминание.\n", | ||
"\n", | ||
"Довольно неплохо процесс описан в этой статье: http://www.sysprobs.com/disable-enable-virtualization-technology-bios" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Q:\n", | ||
"\n", | ||
"Я запустил контейнер с _Tensorflow_ по инструкции, но вижу в домашнем каталоге _ipython_ какие-то незнакомые ноутбуки с примерами.\n", | ||
"\n", | ||
"Где моя рабочая папка ```/Users/username/Coursera/MachineLearning``` (заменить на свою)?!!" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# A:\n", | ||
"\n", | ||
"Вы можете подмонтировать в контейнер любую из директорий, которые разрешили использовать _Docker_, и все, которые лежат внутри них. Чтобы расшарить директорию, нужно в настройках _Docker_ открыть раздел _Shared Drives (Windows)_ или _File Sharing (OS X / macOS)_\n", | ||
" \n", | ||
"![Доступ к директориям Windows](sharing_win.png)\n", | ||
"![Доступ к директориям OS X / macOS](sharing_mac.png)\n", | ||
" \n", | ||
"Нельзя давать доступ к уже расшаренной директории, и к тем, которые лежат внутри уже расшаренных.\n", | ||
"\n", | ||
"Теперь можно запустить контейнер с указанием, какую директорию с вашего диска вы хотите подмонтировать в какую директорию контейнера:\n", | ||
"\n", | ||
"```\n", | ||
" docker run -it -p 8888:8888 -v c:/Users:/notebooks/Users gcr.io/tensorflow/tensorflow\n", | ||
"```\n", | ||
"\n", | ||
"Здесь ```c:/Users``` – папка на диске, ```/notebooks/Users``` – папка в контейнере.\n", | ||
"\n", | ||
"Теперь в корне _ipython_ вы увидите свои драгоценные исходники, и другие файлы, необходимые для выполнения задания." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Q:\n", | ||
"\n", | ||
"Я запустил исходник ```VGG16.py``` из задания, но вижу ошибку:\n", | ||
"\n", | ||
"``` \n", | ||
" fc2 = ??????\n", | ||
" ^\n", | ||
" SyntaxError: invalid syntax\n", | ||
"```\n", | ||
"\n", | ||
"Что делать???" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# A:\n", | ||
"\n", | ||
"Таким образом создатели курса намекают вам, что здесь требуется что-то реализовать самому в рамках задания.\n", | ||
"\n", | ||
"Чтобы проверить работоспособность окружения закомментируйте строки с вопросительными знаками." | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Q:\n", | ||
"\n", | ||
"Я избавился от синтаксических ошибок, но теперь не хотят импортироваться какие-то библиотеки. Я вижу ошибку: \n", | ||
"\n", | ||
"```\n", | ||
" ImportError: cannot import name imread\n", | ||
"```\n", | ||
"\n", | ||
"Что делать???" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# A:\n", | ||
"\n", | ||
"В контейнере с _Tensorflow_ скорее всего установлены не все необходимые пакеты.\n", | ||
" \n", | ||
"Чтобы их установить, необходимо получить доступ к _bash_ контейнера. Для этого при запущенном контейнере открываем новое окно терминала и вводим туда команду:\n", | ||
"\n", | ||
"```\n", | ||
" docker exec -it container_id /bin/bash\n", | ||
"```\n", | ||
"\n", | ||
"Узнать ```container_id``` можно, воспользовавшись командой:\n", | ||
"\n", | ||
"```\n", | ||
" docker ps\n", | ||
"```\n", | ||
"\n", | ||
"Итак, теперь можно работать непосредственно с _bash_ контейнера. Как правило, не хватает библиотек _scipy_, _Pillow_ и _sklearn_.\n", | ||
"\n", | ||
"Установим их:\n", | ||
"\n", | ||
"```\n", | ||
" pip install -U scipy\n", | ||
" pip install -U Pillow\n", | ||
" pip install -U sklearn\n", | ||
"```\n", | ||
"\n", | ||
"Фла ```-U``` нужен только в том случае, если у вас уже установлена какая-то из версий библиотеки, но вы хотите её обновить.\n", | ||
"\n", | ||
"Выйти из _bash_ контейнера можно командой:\n", | ||
"\n", | ||
"```\n", | ||
" exit\n", | ||
"```\n", | ||
"\n", | ||
"Теперь можете для верности сделать _Kernel/Restart_ в ноутбуке." | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"kernelspec": { | ||
"display_name": "Python 2", | ||
"language": "python", | ||
"name": "python2" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 2 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython2", | ||
"version": "2.7.11" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 0 | ||
} |