Тази публикация съдържа инструкции и съвети как да настроите и използвате Google Cloud AI Platform Notebooks като среда за разработка. То е насочено към софтуерни инженери, които искат да знаят как да използват и намират общи функции на IDE, но е от значение за всеки, който се интересува да научи как да използва Google Cloud AI Platform Notebooks или JupyterLab.

Съдържание

Защо да използвате инструмент за наука за данни като IDE?

„Google Cloud AI Platform Notebooks“ са изградени на „JupyterLab“. JupyterLab е уеб-базирана среда за разработка, която включва редактор на преносими компютри на Jupyter, файлов браузър, терминал, текстов редактор с осветяване на код, персонализирани теми, оформление с плочки с плъзгане и пускане и поддръжка за персонализирани теми и разширения. Всички тези елементи работят един до друг в една изключително реагираща уеб страница.

Преди година преминах от PyCharm към JupyterLab (работещ на Google Cloud Deep Learning VM Images, които формират основата на AI Platform Notebooks) като моя основна среда за разработка и не съм погледнал назад.

В моята ежедневна работа като инженер по машинно обучение, работещ с клиенти на Google Cloud, непрекъснато имах предизвикателства с предишната си настройка на PyCharm, работеща на Macbook. Повечето от работата ми изисква данни за клиенти, които не могат да напуснат облака. Това означаваше, че прекарах много време във vim на виртуална машина, разчитах в голяма степен на управлявани услуги (които са страхотни за големи задачи, но твърде бавни, когато просто искате да се ровите) или се борих да създам подходящи синтетични данни. Дори когато можех да използвам напълно PyCharm, щях да се натъкна на проблеми с RAM паметта, ако наборът от данни беше повече от няколко гигабайта, или щях да срещна проблеми със сигурността, докато пътувах и правех API извиквания към облачни проекти от мистериозни IP адреси на хотели.

Също така работя много с учени по данни, които имат свои собствени предпочитани инструменти и работни процеси. Опитът да накарате специалистите по данни да използват инструменти и работни потоци на софтуерния инженер е трудно (и вреди на тяхната производителност). Но да се иска от софтуерните инженери да преминат към инструменти за наука за данни е абсурдно – не можете да създавате софтуер с преносими компютри. И забравете за опитите да накарате екип за разработка да обедини работните им процеси, ако използват коренно различни инструменти.

Предимствата на JupyterLab пред традиционната IDE

Има някои функции на PyCharm, които ми липсват, главно разширени функции за навигация в кода. Но спечелих много повече, отколкото загубих:

  • По-бързо набиране на нови проекти. Преди отнемаха няколко дни, за да свържа моята локална IDE към подходящо защитен проект, и след това още няколко дни, за да получа разрешение от точните хора за вземане на проби от данни Облакът. Сега ми отнема 15 минути, за да започна да работя в нов (за мен) облачен проект. Тъй като сега съм изцяло в облака, сигурната работа изисква много по-малко усилия.
  • Огромна машина за разработка, но само когато е необходимо. Наистина съм мързелив — не искам да кодирам в разпределена рамка като Beam или Spark, защото наборът от данни е 10 GB и моят dev PC има 16 GB RAM. Сега мога да бъда мързелив и пестеливс набори от данни до 10 GB. Пиша кода си върху малка извадка от данни, преоразмерявам моята скромна dev VM до чудовищна VM с 96 GB RAM, изпълнявам кода върху целия набор от данни, след което преоразмерявам обратно. Ако съм малко по-мързелив и използвам пакети на Python, които се справят добре с множество ядра, преоразмерявам до десетки ядра и 100 GB RAM и обработвам набори от данни до 100 GB. Това важи и за графичните процесори – след като разбера, че кодът ми TensorFlow работи на два K80, преминавам към осем V100 за пълно обучение.
  • Без инсталиране на стека драйвери на Nvidia. Преносимите компютри с AI платформа имат предварително инсталирани правилните драйвери на Nvidia и CUDA версия за избраната от вас рамка за дълбоко обучение. Инсталирането и управлението на стек за дълбоко обучение с активиран GPU е трудно и се радвам, че не е необходимо да го правя.
  • Пълна производителност с малък компютър на wifi в самолета. JupyterLab реагира много бързо дори при неравномерна връзка с висока латентност. Докато wifi не е напълно мъртъв, най-продуктивното ми време за кодиране е, когато съм натъпкан в алуминиева тръба, блъскаща се в моя Chromebook.
  • Повишена сигурност и по-лесно спазване на изискванията за сигурност. Най-сигурното място за данните е там, където те вече съществуват, което обикновено е някъде в облака. Вече не е необходимо да копирам извадка от данни на моя локален компютър, за да използвам основната си среда за разработка. Също така ограничавам облачната връзка на моя локален компютър до една виртуална машина или уеб крайна точка, така че облачният проект може да бъде заключен по-здраво, отколкото проектът за разработка обикновено би могъл.
  • Всичко вече е в облака. Нещата са просто по-лесни. Комплектите за разработване на софтуер (SDK) са инсталирани, преместването на данни е по-бързо и съм по-малко засегнат от защитната стена или политиките за сигурност на моята локална интернет връзка.
  • По-добро сътрудничество с учените по данни. „Не харесвам преносими компютри“, но не мога да спра учените по данни да ги използват. Преносимите компютри очевидно работят чудесно в JupyterLab и накарането на JupyterLab да работи малко повече като традиционна IDE позволява на софтуерните инженери да използват същите инструменти като Data Scientists. Това улеснява софтуерните инженери да подкрепят учените по данни, когато нещата се повредят, и поставя по-добре софтуерните инженери да насочват учените по данни към по-зрели практики за разработка.

Стъпка 0: Преди да започнете

За да стартирате AI Platform Notebooks, имате нужда от проект на Google Cloud Platform (с прикачен акаунт за таксуване, ако искате да използвате GPU) с активиран API на Compute Engine. „Инструкциите са тук“. Ако вече сте потребител на Google Cloud, вероятно можете да пропуснете тази стъпка.

Много от командите в тази публикация използват инструмента за команден ред Google Cloud gcloud. Повечето от тези стъпки са възможни с AI Platform Notebooks UI, но използването на gcloud дава повече контрол и по-добра възпроизводимост.

Можете да инсталирате gcloud на вашата локална машина, но ако все още нямате машина с gcloud, просто използвайте Cloud Shell, уеб-базирана терминална сесия с всичко необходимо, което вече е инсталирано. Ако вече имате проект в Google Cloud и сте влезли, щракнете върху тази връзка, за да стартирате Cloud Shell.

Ако използвате gcloud за първи път, стартирайте gcloud init за оторизиране. Можете да зададете стойности по подразбиране за проект/регион/зона, ако желаете, но имайте предвид, че преносимите компютри и графичните процесори на AI Platform все още не са налични във всички региони. Понастоящем най-добрият начин да видите в какви зони е налично всичко е да разгледате наличните региони, когато създавате нов екземпляр на Notebooks.

Стъпка 1: Създайте AI Platform Notebooks VM екземпляр

Първо, създайте екземпляр на AI Platform Notebooks VM. Можете да направите това в Потребителския интерфейс на бележниците, но използването на gcloud дава повече опции:

Може да искате да промените командата, за да отговаря на вашите специфични нужди.

gcloud compute instances create $INSTANCE_NAME: всички команди за създаване на VM gcloud започват с това.

--zone=$ZONE: зоната, в която искате да бъде създадена вашата виртуална машина. Само някои зони имат графични процесори, но всяка зона в регион, която поддържа преносими компютри с AI платформа, е добра. Понастоящем най-добрият начин да видите в какви зони е налично всичко е да разгледате наличните региони, когато създавате нов екземпляр на Notebooks.

--image_family=$IMAGE_FAMILY: указва изображението, което да се използва за създаване на VM. „Семейство изображения“ е група от свързани „VM изображения“; соченето към семейство изображения вместо конкретно изображение гарантира инсталирането на най-актуалното изображение в семейството. Семейството изображения tf-latest-gpu съдържа VM изображения за изпълнение на TensorFlow на графични процесори — всички необходими инструменти (включително JupyterLab) са предварително инсталирани и ключовите двоични файлове са създадени по поръчка за повишена производителност. Това семейство изображения е част от Google Cloud Deep Learning VM Images, на който се базира продуктът Notebooks. Налични са фамилии изображения на Deep Learning VM за популярни рамки за дълбоко обучение, изобщо без рамка за дълбоко обучение, само за CPU и т.н. Ако искате да използвате конкретна версия на изображение, използвайте --image вместо --image-family и посочете валиден Версия на изображението на Deep Learning VM.

--machine-type=$INSTANCE_TYPE: определя RAM и ядрата на вашата VM. „Налични са много различни конфигурации“. Имайте предвид, че можете лесно да промените това по-късно.

--image-project=deeplearning-platform-release: в кой проект да намерите посочените --image или --image-family . Проектът deeplearning-platform-release съдържа изображения, предоставени от Google Cloud Deep Learning VM Images, не променяйте това, ако създавате Notebooks VM.

--maintenance-policy=TERMINATE: какво се случва с вашата VM по време на събитие за поддръжка. Повечето VM могат да бъдат „мигрирани на живо“, но ако графичните процесори са прикачени към вашата VM, миграцията на живо не работи. Ако графичните процесори не са прикачени към вашата виртуална машина (и нямате намерение да прикачвате графични процесори), можете да оставите този ред извън него.

--accelerator='type=nvidia-tesla-v100,count=2':типа GPU за прикачване и колко да прикачите, вижте документацията за наличните GPU/броя. Ако не използвате графични процесори, можете да оставите този ред.

--no-boot-disk-auto-delete: поведението по подразбиране при изтриване на VM е да се изтрие дискът за зареждане, това отменя това по подразбиране и не изтрива диска за зареждане, когато VM се изтрие. Това означава, че ако случайно изтриете своята виртуална машина, пак можете да възстановите работата си. Но това също означава, че трябва да изтриете диска отделно от вашата VM, ако искате да премахнете всичко.

--boot-disk-device-name=$INSTANCE_NAME-disk: създава диск въз основа на името на VM.

--boot-disk-size=500GB: коригирайте според вашия вкус, 100GB или повече е най-добре.

--boot-disk-type=pd-ssd: прави вашия диск SSD за по-добра производителност.

--scopes=https://www.googleapis.com/auth/cloud-platform: дава на вашата VM възможност да се свързва с API на Google Cloud Platform. Това означава, че ще можете да използвате услуги като BigQuery, Cloud Storage, AI Hub и др. от вашата VM. Също така е необходимо да създадете URL адрес за директна връзка към вашата виртуална машина. Можете да именувате само обхватите, от които се нуждаете, да използвате сервизни акаунти или да оставите този ред и да използвате стандартния сервизен акаунт на Compute Engine. Но имайте предвид, че при намалени обхвати няма да получите URL адрес за директна връзка към вашата виртуална машина и тогава ще трябва да „използвате SSH тунел за свързване“.

--metadata=’install-nvidia-driver=True,proxy-mode=project_editors’: Записите метаданни се използват от Deep Learning VM за предаване на параметри на инсталационни и стартиращи скриптове. Ако искате да използвате GPU install-nvidia-driver=True инсталира драйвера, можете да оставите това, ако не използвате GPU. proxy-mode=project_editors създава URL адрес за връзка към вашата виртуална машина и го добавя към Потребителския интерфейс на Notebooks. Можете също да се откажете от този ред и да „използвате SSH тунел за свързване“ към вашата виртуална машина.

Един незадължителен флаг за добавяне, особено ако искате силна виртуална машина сега или по-късно и не използвате графични процесори, е --min-cpu-platform=Intel\ Skylake. Това гарантира, че вашата виртуална машина е на платформата на процесора Skylake („ако вашата зона я поддържа“), което позволява виртуални машини с повече ядра и RAM от други платформи. Можете също да използвате други процесорни платформи.

Стъпка 2: Свържете се с JupyterLab на вашата VM

Вашата VM ще бъде създадена няколко минути след завършване на командата gcloud. Няколко минути след това вашата виртуална машина получава URL адрес за директна връзка и се появява в AI Platform Notebooks UI:

Можете да използвате потребителския интерфейс на Notebooks, за да се свържете с вашата виртуална машина, като щракнете върху „ОТВОРЕНО JUPYTERLAB“, но можете също да получите URL адреса, като използвате gcloud:

Ще видите нещо подобно: numbersandletters-dot-datalab-vm-region.googleusercontent.com.

Този URL адрес осигурява защитена уеб връзка към вашата виртуална машина. Просто го поставете във вашия уеб браузър и ще се свържете с вашата сесия в JupyterLab. Имайте предвид, че други потребители на проекта с високи привилегии също могат да използват този URL адрес — той не е достъпен само от създателя на VM.

Ако сте създали вашата VM без proxy_mode=project_editors или не сте задали обхвата https://www.googleapis.com/auth/cloud-platform, трябва да се свържете с вашата VM чрез SSH тунел.

След като се свържете с JupyterLab, ще видите потребителския интерфейс на JupyterLab Platform Notebooks по подразбиране:

Стъпка 3: Запознайте се с интерфейса JupyterLab Platform Notebooks

Интерфейсът на Jupyterlab е мощен и много персонализиран:

Извън кутията JupyterLab идва с програма за преглед/редактиране на преносими компютри на Jupyter, терминал, програми за преглед на много типове файлове, текстов редактор с подчертаване на синтаксиса и файлов браузър. Струва си да разгледате цялото „Ръководство на потребителя на JupyterLab“, за да научите за функциите, но поне вижте „основите на интерфейса“.

Стандартни JupyterLab IDE функции

  • Опциите за персонализиране на потребителския интерфейс и клавишите за бърз достъп се намират в менюто Настройки.
  • За да получите автоматично довършване, когато работите в текстовия редактор, трябва да „свържете“ текстовия редактор към конзола за кодове, като щракнете с десния бутон върху текстовия редактор и изберете желаното ядро ​​(време за изпълнение). Това ви дава меню за автоматично довършване, когато натиснете tab, и изпълнява текущия ред на текстов редактор в конзолата за код, когато натиснете shift+enter. Едно предупреждение за автоматичното довършване: трябва да импортирате модул, за да получите функция за автоматично довършване за този модул. Например, за да получите автоматично довършване за numpy, въведете import numpy as np и натиснете shift+enter. След това, когато въведете „np.“ и натиснете tab, ще получите очакваната функция за автоматично довършване.
  • Помощ (включително сигнатури на методи) е достъпна в конзолата за код (включително прикачена конзола за код) чрез инспектора. Щракнете с десния бутон върху полето за въвеждане на код на конзолата, за да отворите инспектора и след това, докато пишете в полето за въвеждане на конзолата, инспекторът ще се актуализира. За да получите информация за дефиницията на метода, трябва да поставите ( след името на метода, преди да се появи помощ. Това изображение показва всичко това:

Допълнителна функционалност на JupyterLab, включена в преносими компютри с AI платформа

Преносимите компютри с AI Platform включват допълнителна функционалност извън основната, според JupyterLab, няколко предварително инсталирани разширения: git, tensorboard и nbdime (разлики в бележника).

  • „Разширението git“ предоставя лек GUI с основна git функционалност — клониране, проследяване и поставяне на промени, натискане/дърпане, извършване на ангажименти, създаване и промяна на клонове и преглед на хронологията на ангажиментите. Ако работите с учени по данни или изследователи, които нямат опит с git, това е чудесен инструмент за насочването им към по-добри практики за контрол на версиите.

  • „Разширението tensorboard“ добавя потребителския интерфейс „TensorBoard“ директно в потребителския интерфейс на JupyterLab. Навигирайте в файловия браузър до обобщен logdir, написан от TensorFlow, и използвайте стартовия панел (бутона плюс в горния ляв ъгъл), за да отворите потребителски интерфейс на TensorBoard в раздел. Имайте предвид, че разширението tensorboard се появява само ако използвате Notebooks VM с предварително инсталиран TensorFlow.

  • Ако работите с Jupyter Notebooks, nbdime е задължителен. Стандартните текстови разлики на .ipynb файлове са шумни поради голямото количество метаданни. Разширението nbdime JupyterLab показва полезни git разлики в бележника в потребителския интерфейс на JupyterLab. След като редактирате и запишете файл .ipynb в git repo, използвайте бутона „git“, за да видите работеща разлика:

  • Има повече функции на nbdime, включително „инструменти за команден ред“ и „по-дълбока интеграция с git, включително инструмент за сливане на бележник“.

Стъпка 4: Научете как да спирате, стартирате и преоразмерявате своята виртуална машина

Когато не работите активно върху своята виртуална машина, спрете я, за да спестите пари и ресурси за проекта. Когато вашата виртуална машина е спряна, вашите настройки, среда, данни и работа са все още непокътнати и ви чакат, когато стартирате виртуалната машина отново.

Също така трябва да спрете вашата VM, за да я преоразмерите. Преоразмеряването на вашата dev VM е бърз и мръсен начин да стартирате нещо, което иначе би отнело твърде много време или няма да се побере в паметта, или да прикачите повече GPU за голяма обучителна работа. Можете да промените вашия тип на VM машина с gcloud:

За да прикачите, откачите или промените GPU, трябва да използвате Потребителски интерфейс на преносими компютри.

След като промените конфигурацията на вашата VM, стартирайте вашата VM:

Възможността за преоразмеряване и респектиране на спрени Notebooks VM е изключително полезна. Можете да създадете прототип на вашето моделно обучение на чифт евтини графични процесори и след това да преминете към осем P100, след като разберете, че всичко работи. Можете да работите ефективно с набори от данни до 100 GB със стандартни пакети на Python (просто се уверете, че вашите пакети могат да се възползват от множество процесорни ядра; за Pandas на множество ядра вижте modin). А когато вече не се нуждаете от допълнителна мощност, можете да спестите пари, като намалите спецификациите на вашата виртуална машина.

Имайте предвид, че има ограничения за размера на VM. Различните CPU платформи поддържат различни типове машини и има допълнителни ограничения за ядра/RAM, когато GPU са прикрепени към VM.

Стъпка 5: Получете root достъп до вашата VM чрез SSH

Актуализация от 27.04.19: най-новите VM изображения трябва да позволяват на jupyter потребителя да sudo от терминала на JupyterLab.

Когато работите върху своята виртуална машина, вие сте влезли като потребител jupyter. За по-добра сигурност този потребител има разрешенията, които ще ви трябват за ежедневната работа по разработката, но няма root достъп до VM или привилегии на sudoer.

В един момент ще имате нужда от sudoer привилегии. Можете да получите sudoer привилегии, като се свържете с VM чрез SSH връзка. Можете да направите това с Compute Engine UI или с gcloud:

Когато се свързвате чрез SSH, вие се свързвате като потребител на Google Cloud Platform по подразбиране. Това ви дава привилегии на sudoer.

Създаване на правило за защитна стена за отваряне на SSH

В зависимост от това как е настроен вашият проект, може да не успеете да осъществите SSH към вашата VM, тъй като порт 22 е затворен по подразбиране — това е добра практика за сигурност. За да активирате SSH, ще трябва да отворите порт 22, като създадете и приложите „правило за защитна стена“.

Първо създайте правило за защитна стена с висок приоритет, което отваря порт 22:

allow-ssh е името на правилото, --allow=tcp:22 отваря TCP порт 22, priority=0 прави това правило на защитната стена с предимство пред други правила на защитната стена (по-нисък приоритет=висок приоритет), --description е как се описва вашето правило на защитната стена (незадължително, но полезно), а target-tags са VM таговете, които идентифицират към кои VM се прилага това правило. Ако държите изключително много на сигурността, помислете дали да не използвате параметъра --source-ranges, за да отворите само порт 22, за да изберете IP адреси.

След това приложете правилото на защитната стена към вашето копие, като маркирате подходящо вашето копие:

Сега можете да се свържете чрез SSH. След като сте готови, поддържайте виртуалната си машина по-сигурна, като премахнете маркирането на вашата виртуална машина, докато не се нуждаете отново от SSH достъп:

Стъпка 6: Управлявайте своята Python среда

Управлението на средата на Python е важно съображение в работния процес на разработчиците на Python. Когато използвате AI Platform Notebooks, може да не искате да управлявате самостоятелно вашата среда. Има някои оптимизации под капака, които ще загубите (включително оптимизирани двоични файлове на някои пакети) и може да срещнете проблеми със съвместимостта на версиите, докато инсталирате пакетите, от които се нуждаете. Може да ви е по-лесно да поддържате отделни виртуални машини за всеки от вашите проекти, вместо отделни среди.

Но понякога се нуждаете от строго контролирана среда, а средата на Notebooks по подразбиране има много предварително инсталирани пакети (изпълнете pip list, за да видите).

Най-популярните инструменти за управление на среди на Python са pipenv, virtualenv и virtualenvwrapper (което разширява virtualenv). Ако имате предпочитан инструмент, можете да го използвате с Notebooks (но може да ви е необходим SSH, за да го настроите правилно, вижте Стъпка 5 по-горе) и може да искате да пропуснете съдържанието на virtualenv основите и да преминете надолу към „«Създаване на Jupyter Kernel за виртуална среда"".

Основи на виртуалната среда с virtualenv

virtualenv е инструментът от начално ниво за управление на средата и е предварително инсталиран, когато се създава Notebooks VM. Общата идея на virtualenv е да създадете „виртуална среда“ със собствена версия на Python и собствени инсталирани пакети. Когато искате да работите в тази среда, вие я „активирате“ и след това всеки път, когато използватеpip, само активната среда се променя. Когато приключите с работата, вие „деактивирате“ вашата среда. Виртуалните среди живеят на вашия диск в папки. Можете да имате колкото искате виртуални среди и да ги управлявате сами.

Създаването на virtualenv виртуална среда е толкова просто, колкото стартирането на командата virtualenv, последвана от целева директория, където ще живее вашата виртуална среда:

Този пример създава виртуална среда в директорията venv.

Активирайте виртуалната среда, като стартирате bin/activate в директорията на средата:

Ще видите подканата на обвивката да се променя, за да има (venv) пред нея. Това ви позволява да знаете, че сте във виртуалната среда. Сега всичко, което правите с pip, променя само активираната виртуална среда.

Когато приключите с работата в средата, изпълнете командата deactivate, за да напуснете средата:

Популяренvirtualenv модел на използване е да създавате виртуална среда във всеки проект, върху който работите, в директория venv в корена на проекта. Ако направите това, обмислете поставянето на venv във вашия .gitignore файл, за да не го проверявате в отдалечено git repo. Друг популярен подход е да поддържате една ~/envs директория с поддиректории за различните ви среди. И след като разберете основите на виртуалните среди, струва си да проверите virtualenvwrapper, който автоматизира управлението на виртуална среда.

Ако искате да премахнете вашата виртуална среда за постоянно, изтрийте директорията:

virtualenv също така поддържа създаването на виртуални среди с различни версии на Python:

Обърнете внимание, че всичко, което идва след -p, е пътят към изпълним интерпретатор на Python. На Notebooks VM python2 и python3 са в пътя и сочат към най-новите версии, съвместими с предварително инсталираните пакети, но за да създадете среда с много специфична версия на Python, може да се наложи да инсталирате тази версия сами.

За да направите кода си преносим, ​​създайте requirements.txt файл от вашата среда с pip freeze и го споделете с вашия код.

Създаване на ядро ​​на Jupyter за виртуална среда

Може да искате ядро ​​на Jupyter, свързано с вашата виртуална среда. Това ви позволява да стартирате преносими компютри и конзоли от вашата виртуална среда. Изпълнете този код във вашата виртуална среда, за да инсталирате пакета ipykernel и да създадете ядрото за потребителя jupyter. KERNEL_NAME е вътрешното име на iPython, но DISPLAY_NAME е това, което ще видите в интерфейса:

Ще трябва да опресните уеб страницата на JupyterLab, преди иконите на бележника и конзолата за новото ядро ​​да се появят в стартовия панел.

Имайте предвид своя вкус на TensorFlow, когато използвате виртуални среди. TensorFlow има отделни пакети за GPU спрямо не-GPU. Инсталирането на която и да е версия във вашата виртуална среда трябва да работи, но се уверете, че сте инсталирали правилния пакет, който да съответства на вашата конфигурация (GPU срещу без GPU). Това също означава, че трябва да поддържате отделни виртуални среди както за GPU, така и за не-GPU, ако планирате да превключвате между двете. Cloud AI Platform Notebooks трябва да се справят с превключването автоматично в средата по подразбиране (и да инсталират правилните двоични файлове и стека на Nvidia, ако е подходящо), но ще трябва да се справите сами, ако управлявате свои собствени среди.

Стъпка 7: Разгледайте разширенията

JupyterLab поддържа персонализирани разширения (и теми) и предоставя подробна документация на разработчиците за насърчаване на създаването на нови разширения. Разширенията са бързо развиващ се аспект на опита на JupyterLab и са склонни към нестабилност. Освен предварително инсталираните разширения, те не се поддържат официално от AI Platform Notebooks. Също така имайте предвид, че вграденият в JupyterLab мениджър на разширения в момента не е наличен в AI Platform Notebooks

Има просто разширение, което си струва да добавите, наречено go-to-definition, което прескача към дефиницията на променлива или функция, ако дефиницията е в същия файл. Това е особено полезно, когато се опитвате да работите с дълги или неорганизирани тетрадки или .py файлове. Имайте предвид, че това разширение не се поддържа официално и както всички кодове на трети страни, трябва да го прегледате, преди да инсталирате.

Ще ви трябва SSH връзка за достъп до sudoer (вижте стъпка 5). След като се свържете, изпълнете следното:

След като разширението е инсталирано, обновете уеб страницата на JupyterLab. След това можете да задържите ALT във всеки бележник или .py файл и да щракнете, за да преминете към дефиниция в същия файл. ALT+O скача назад от дефиницията до мястото, където първо сте щракнали.

Има много повече налични разширения в различни степени на завършеност. Има също урок и отлична документация, ако се интересувате да направите свои собствени разширения или напълно да персонализирате вашата тема.

Стъпка 8: Научете и правете повече

  • „Тази публикация в блога“ съдържа обширна информация за възможностите на преносимите компютри с AI платформа и голяма част от това съдържание идва оттам. Трябва да обмислите да следвате автора, Вячеслав Ковалевски, който играе ключова роля в разработването на AI Platform Notebooks.
  • Разгледайте gsutil (включен във всяка Google Cloud VM), за да научите един начин за лесно преместване на файлове към/от вашата Notebooks VM чрез Google Cloud Storage.
  • Има обширна документация за използването на JupyterLab, която има много мощни функции, които не са разгледани в тази публикация.
  • Изведете качеството на кода си на следващото ниво чрез linting с pylint и автоматично форматиране с yapf. yapf също работи с преносими компютри, използвайки yapf_ext.
  • Научете как да предадете вашия бележник за дистанционно изпълнение.

Искам да благодаря на Viacheslav Kovalevskyi за отговорите на техническите ми въпроси относно преносими компютри с AI платформа и защитаването на отличен продукт, както и на Wesley Turner и Praneet Dutta за прегледа на публикацията ми и предлагането на отлична обратна връзка.