Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """Добро пожаловать в Colaboratory!
- Automatically generated by Colaboratory.
- Original file is located at
- https://colab.research.google.com/notebooks/intro.ipynb
- <p><img alt="Colaboratory logo" height="45px" src="/img/colab_favicon.ico" align="left" hspace="10px" vspace="0px"></p>
- <h1>Что такое Colaboratory?</h1>
- Colaboratory, или просто Colab, позволяет писать и выполнять код Python в браузере. При этом:
- - не требуется никакой настройки;
- - вы получаете бесплатный доступ к графическим процессорам;
- - предоставлять доступ к документам другим людям очень просто.
- Это отличное решение для <strong>студентов</strong>, <strong>специалистов по обработке данных</strong> и <strong>исследователей в области искусственного интеллекта</strong>. Чтобы узнать больше, посмотрите <a href="https://www.youtube.com/watch?v=inN8seMm7UI">ознакомительное видео</a> или начните работу с инструментом ниже.
- ## <strong>Начало работы</strong>
- Документ, который вы читаете, размещен не на статической веб-странице, а в интерактивной среде под названием <strong>блокнот Colab</strong>, позволяющей писать и выполнять код.
- Например, вот <strong>ячейка</strong> с коротким скриптом Python, который позволяет рассчитать значение, выразить его в виде переменной и распечатать результат:
- """
- seconds_in_a_day = 24 * 60 * 60
- seconds_in_a_day
- """Чтобы выполнить код в ячейке выше, выберите ее, а затем нажмите кнопку воспроизведения слева от кода или используйте сочетание клавиш Cmd/Ctrl + Ввод. Чтобы изменить код, достаточно нажать на ячейку.
- Переменные, заданные в одной ячейке, можно будет использовать в других ячейках:
- """
- seconds_in_a_week = 7 * seconds_in_a_day
- seconds_in_a_week
- """Благодаря блокнотам Colab вы можете использовать в одном документе <strong>исполняемый код</strong>, <strong>форматированный текст</strong>, <strong>изображения</strong>, <strong>разметку HTML</strong>, <strong>набор LaTeX</strong> и не только. Блокноты Colab будут храниться на вашем Google Диске. Вы сможете открыть к ним доступ коллегам или друзьям, разрешив им просматривать или даже редактировать документ, а также оставлять комментарии. Подробная информация доступна на <a href="/notebooks/basic_features_overview.ipynb">этой странице</a>. Чтобы создать блокнот Colab, можно воспользоваться меню "Файл" выше или <a href="http://colab.research.google.com#create=true">перейти по этой ссылке</a>.
- Блокноты Colab – это блокноты Jupyter, которые размещены в сервисе Colab. Подробная информация о проекте Jupyter доступна на сайте <a href="https://www.jupyter.org">jupyter.org</a>.
- ## Анализ и обработка данных
- Colab позволяет использовать для анализа и визуализации данных все возможности популярных библиотек Python. Например, в ячейке ниже используется библиотека <strong>numpy</strong> для генерации случайных данных, а также библиотека <strong>matplotlib</strong> для их визуализации. Чтобы изменить код, достаточно нажать на ячейку.
- """
- import numpy as np
- from matplotlib import pyplot as plt
- ys = 200 + np.random.randn(100)
- x = [x for x in range(len(ys))]
- plt.plot(x, ys, '-')
- plt.fill_between(x, ys, 195, where=(ys > 195), facecolor='g', alpha=0.6)
- plt.title("Sample Visualization")
- plt.show()
- """Вы можете импортировать в блокноты Colab данные из своего аккаунта Google Диска, в том числе из таблиц, а также из GitHub и многих других источников. Чтобы узнать больше об импорте данных и о том, как можно использовать Colab для их анализа и обработки, изучите ссылки в разделе <a href="#working-with-data">Работа с данными</a>.
- ## Машинное обучение
- В Colab вы можете импортировать набор данных изображения, сориентировать на него классификатор изображений и оценить модель с помощью <a href="https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/quickstart/beginner.ipynb">нескольких строк кода</a>. Код в блокнотах Colab исполняется на облачных серверах Google. Это означает, что вы можете использовать аппаратное обеспечение Google, <a href="#using-accelerated-hardware">в том числе графические процессоры и TPU</a>, независимо от мощности вашей машины. Вам нужен только браузер.
- Colab активно используется в области машинного обучения, в том числе для:
- - знакомства с TensorFlow;
- - разработки и обучения нейронных сетей;
- - экспериментов с TPU;
- - распространения исследований в области ИИ;
- - создания руководств.
- Примеры использования блокнотов Colab в сфере машинного обучения приведены в разделе <a href="#machine-learning-examples">Примеры использования в машинном обучении</a> ниже.
- ## Ресурсы по теме
- ### Работа с блокнотами в Colab
- - [Общие сведения о Colaboratory](/notebooks/basic_features_overview.ipynb)
- - [Руководство для Markdown](/notebooks/markdown_guide.ipynb)
- - [Импорт библиотек и установка зависимостей](/notebooks/snippets/importing_libraries.ipynb)
- - [Сохранение и загрузка блокнотов в GitHub](https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb)
- - [Интерактивные формы](/notebooks/forms.ipynb)
- - [Интерактивные виджеты](/notebooks/widgets.ipynb)
- - <img src="/img/new.png" height="20px" align="left" hspace="4px" alt="New"></img>
- [TensorFlow 2 в Colab](/notebooks/tensorflow_version.ipynb)
- <a name="working-with-data"></a>
- ### Работа с данными
- - [Загрузка данных: Диск, Таблицы и Google Cloud Storage](/notebooks/io.ipynb)
- - [Диаграмма: визуализация данных](/notebooks/charts.ipynb)
- - [Начало работы с BigQuery](/notebooks/bigquery.ipynb)
- ### Экспресс-курс по машинному обучению
- Вот несколько блокнотов из онлайн-курса по машинному обучению от Google. Ещё больше информации доступно на <a href="https://developers.google.com/machine-learning/crash-course/">сайте курса</a>.
- - [Введение в pandas](/notebooks/mlcc/intro_to_pandas.ipynb)
- - [Концепции TensorFlow](/notebooks/mlcc/tensorflow_programming_concepts.ipynb)
- - [Начало работы с TensorFlow](/notebooks/mlcc/first_steps_with_tensor_flow.ipynb)
- - [Введение в нейросети](/notebooks/mlcc/intro_to_neural_nets.ipynb)
- - [Введение в разреженные данные и встраивания](/notebooks/mlcc/intro_to_sparse_data_and_embeddings.ipynb)
- <a name="using-accelerated-hardware"></a>
- ### Использование ускорителей
- - [TensorFlow с графическими процессорами](/notebooks/gpu.ipynb)
- - [TensorFlow с TPU](/notebooks/tpu.ipynb)
- <a name="machine-learning-examples"></a>
- ## Примеры использования в машинном обучении
- Подробные примеры интерактивного анализа, выполняемого с помощью машинного обучения и доступного благодаря платформе Colaboratory, можно найти в этих руководствах. В них используются модели с сайта <a href="https://tfhub.dev">TensorFlow Hub</a>.
- Несколько примеров:
- - <a href="https://tensorflow.org/hub/tutorials/tf2_image_retraining">Обучение классификатора изображений</a>. Используя предварительно обученный классификатор изображений, создайте модель Keras для распознавания цветов.
- - <a href="https://tensorflow.org/hub/tutorials/tf2_text_classification">Классификация текста</a>. Разделите отзывы на сайте IMDb на <em>положительные</em> и <em>отрицательные</em>.
- - <a href="https://tensorflow.org/hub/tutorials/tf2_arbitrary_image_stylization">Перенос стиля</a>. Используйте модель глубокого обучения, чтобы переносить стиль с одного изображения на другое.
- - <a href="https://tensorflow.org/hub/tutorials/retrieval_with_tf_hub_universal_encoder_qa">Вопросно-ответный универсальный многоязычный кодировщик</a>. Используйте модель машинного обучения, чтобы отвечать на вопросы из набора данных SQuAD.
- - <a href="https://tensorflow.org/hub/tutorials/tweening_conv3d">Интерполяция видео.</a> Спрогнозируйте, что произошло между первым и последним кадрами видео.
- """
- import numpy as np
- import matplotlib.pyplot as plt
- x = np.arange(0, np.pi, 0.01)
- x = np.array(x)
- y = np.zeros(shape=len(x), dtype='float')
- for i in range(len(x)):
- if x[i] < np.pi / 4:
- y[i] = x[i]
- elif x[i] < np.pi / 2:
- y[i] = -x[i] + np.pi / 2
- else:
- y[i] = 0.
- plt.plot(x, y)
- x = np.arange(0, 4 * np.pi, 0.01)
- x = np.array(x)
- y = np.zeros(shape=len(x), dtype='float')
- # for i in range(len(x)):
- # if x[i] < np.pi / 4:
- # y[i] = x[i]
- # elif x[i] < 3 * np.pi / 4:
- # y[i] = -x[i] + np.pi / 2
- # else:
- # y[i] = x[i] - np.pi
- y = np.sin(10.0 * 2.0 * np.pi * x) + 0.5*np.sin(5.0 * 2.0*np.pi*x)
- plt.plot(x, y)
- from scipy.fft import fft
- N = len(x)
- T = 1.0 / 800.
- yf = fft(y)
- xf = np.linspace(0.0, 1.0/(2.0 * T), N//2)
- plt.plot(xf, 1.0/N * np.abs(yf[0:N//2]))
- plt.grid()
- y_a = 1. / N * np.abs(yf[0:N//2])
- print(np.max(y_a))
- from scipy.fft import fft
- # Number of sample points
- N = 600 * np.pi
- # sample spacing
- T = 1.0 / 800.0
- x = np.linspace(0.0, N*T, N)
- print(np.max(x))
- # y = np.sin(150.0 * 2.0*np.pi*x) + 0.5*np.sin(80.0 * 2.0*np.pi*x)
- for i in range(len(x)):
- if x[i] < np.pi / 4:
- y[i] = x[i]
- elif x[i] < 3 * np.pi / 4:
- y[i] = -x[i] + np.pi / 2
- else:
- y[i] = x[i] - np.pi
- yf = fft(y)
- xf = np.linspace(0.0, 1.0/(2.0*T), N//2)
- import matplotlib.pyplot as plt
- plt.plot(xf, 2.0/N * np.abs(yf[0:N//2]))
- plt.grid()
- plt.show()
Add Comment
Please, Sign In to add comment