С чего начать программисту, осваивающему анализ данных?
Здесь и далее я подразумеваю, что программист использует Python в своих разработках.
Я сам пишу на Питоне, мне очень нравится этот язык своей гибкостью, простотой и лаконичностью. Единственное, что мне не нравится - язык очень хорошо работает в пределах ascii, но стоит переступить этот порог и начинаются проблемы! Из-за этого я долгое время использовал Python 2, но, начав изучать ML, понял, что здесь без 3ей версии уже не обойтись...
Мы будем использовать Google Colaboratory - это Jupyter notebook окружение, позволяющее Вам писать и исполнять код на серверах Google. За использование данного сервиса с Вас не взимается плата (по крайней мере, на момент написания), но Google может использовать Ваши наработки в своих исследованиях и разработках.
Теперь создадим нашу первую записную книжку:
По умолчанию, Вам будет предоставлен процессор (CPU) для выполнения кода.
Вы можете выбрать, какие ресурсы будут предоставлены вашему коду: CPU, GPU и, с недавних пор, TPU. Сделать это можно так: Runtime - Change runtime type - Hardware accelerator.
Давайте теперь посмотрим, что под капотом у нашего окружения!
Выполним данный код:
import psutil
ilist = (
psutil.cpu_times(),
psutil.cpu_count(),
psutil.cpu_count(logical=False),
psutil.cpu_stats(),
psutil.cpu_freq(),
psutil.virtual_memory(),
psutil.swap_memory()
)
for i in ilist:
print(i)
Мой лог приведён ниже, Вы можете сравнить его со своим окружением.
scputimes(user=13.73, nice=0.0, system=7.51, idle=130.35, iowait=26.21, irq=0.0, softirq=0.08, steal=0.0, guest=0.0, guest_nice=0.0)
2
1
scpustats(ctx_switches=190413, interrupts=128429, soft_interrupts=87485, syscalls=0)
None
svmem(total=13655322624, available=12964315136, percent=5.1, used=417300480, free=11857539072, active=466153472, inactive=1110773760, buffers=59146240, cached=1321336832, shared=856064, slab=125890560)
sswap(total=0, used=0, free=0, percent=0, sin=0, sout=0)
Мы видим, что у нас одно физическое ядро и два логических и около 13 Гб доступной виртуальной памяти.
Имя нашей машины:
import os
os.uname()
posix.uname_result(sysname='Linux', nodename='8f270d681a82', release='4.14.79+', version='#1 SMP Wed Dec 19 21:19:13 PST 2018', machine='x86_64')
По nodename мы можем определить, на одних и тех же машинах выполняются наши коды, открытые в различных записных книжках или нет.
Здесь Вы можете посмотреть другие параметры виртуальной машины:
В левой части нашей записной книжки мы можем открыть проводник, где можем выбрать Code Snippets и посмотреть готовые куски кода для достижения различных целей в ноутбуке.
Комментариев нет:
Отправить комментарий