Skip to content

Commit

Permalink
Merge pull request ton4eg#3 from sashulyak/master
Browse files Browse the repository at this point in the history
Added FAQ for Tensorflow Docker container
  • Loading branch information
ton4eg authored Oct 7, 2016
2 parents eeeb3bd + f5759c9 commit e6cabbf
Show file tree
Hide file tree
Showing 4 changed files with 190 additions and 0 deletions.
Binary file added faq/bios.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added faq/sharing_mac.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added faq/sharing_win.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
190 changes: 190 additions & 0 deletions faq/tensorflow_docker_faq.ipynb
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
}

0 comments on commit e6cabbf

Please sign in to comment.