Как отобразить GIF в блокноте Jupyter с помощью Google Colab? - PullRequest
1 голос
/ 09 апреля 2020

Я использую Google Colab и хотел бы вставить GIF. Кто-нибудь знает как это сделать? Я использую код ниже, и это не анимация GIF в записной книжке. Мне бы хотелось, чтобы блокнот был интерактивным, чтобы можно было видеть, что код оживляет, без необходимости его запуска.

Я нашел много способов, чтобы это не работало в Google colab. Интересующий код и GIF ниже.

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

img = mpimg.imread("/content/animationBrownianMotion2d.gif")
plt.imshow(img)

enter image description here

Я попробовал некоторые из предоставленных решений.

import IPython
from IPython.display import Image
Image(filename='/content/animationBrownianMotion2d.gif')

и аналогично

import IPython
from IPython.display import Image
Image(filename='/content/animationBrownianMotion2d.gif',embed=True)

, но получил ошибку,

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-27-56bf6cd2b134> in <module>()
      1 import IPython
      2 from IPython.display import Image
----> 3 Image(filename='/content/animationBrownianMotion2d.gif',embed=True)
      4 

/usr/local/lib/python3.6/dist-packages/IPython/core/display.py in __init__(self, data, url, filename, format, embed, width, height, retina, unconfined, metadata)
   1013 
   1014         if self.embed and self.format not in self._ACCEPTABLE_EMBEDDINGS:
-> 1015             raise ValueError("Cannot embed the '%s' image format" % (self.format))
   1016         self.width = width
   1017         self.height = height

ValueError: Cannot embed the 'gif' image format

оба раза.

Ответы [ 3 ]

2 голосов
/ 09 апреля 2020

Для внешнего gif вы можете использовать отображение Jupyter как ответ @ kn oop.

from IPython.display import Image
Image(url='https://upload.wikimedia.org/wikipedia/commons/e/e3/Animhorse.gif')

Но для локального файла вам нужно прочитать байты и отобразить его.

!wget https://upload.wikimedia.org/wikipedia/commons/e/e3/Animhorse.gif
Image(open('Animhorse.gif','rb').read())
0 голосов
/ 15 апреля 2020

Я не знаю, почему вышеупомянутый метод не работает для меня.

Как вставить GIF-файл с Google Drive в Google Colab

Шаг 1: Сохранить GIF на вашем Google Drive

Шаг 2. Попросите Google Drive открыть ваш файл на Google Drive (Этот шаг не имеет прямого отношения к исходному вопросу.)

  • Как импортировать данные с Google Drive в гугл колаб. Ссылка

    1. На вашем Google Диске («Мой диск») создайте папку с именем data в выбранном вами месте. Здесь вы будете загружать свои данные.

    2. В блокноте Colab введите следующее:

from google.colab import drive         # tell colab to look at google drive
drive.mount('/content/drive')

Команды приведут вас к шагу аутентификации Google. Вы должны увидеть экран с Google Drive File Stream, который хочет получить доступ к вашей учетной записи Google.

После получения разрешения скопируйте указанный код подтверждения и вставьте его в поле в Colab.

В блокноте нажмите на уголь> в левом верхнем углу блокнота и выберите «Файлы».

Найдите папку с данными, созданную ранее и найди свои данные. Щелкните правой кнопкой мыши ваши данные и выберите «Копировать путь». Сохраните этот скопированный путь в переменную, и вы готовы к go.

. Набор данных теперь хранится в Pandas Dataframe

Шаг 3:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
from IPython import display

Шаг 4:

gifPath = Path("/content/drive/My Drive/xxxx/xxx.gif") # please paste the whole path from Step 2-6
# Display GIF in Jupyter, CoLab, IPython
with open(gifPath,'rb') as f:
    display.Image(data=f.read(), format='png')
0 голосов
/ 09 апреля 2020

Используя модуль I Python, вы можете отображать анимированные GIF-файлы.

import IPython

# For Remote Image
IPython.display.Image(url='URL_TO_IMAGE')


Обновление:

Теперь это должно работать без проблем:)

# For Local Image

from IPython.display import Image
Image('anim.gif', format='png')

gif

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...