колба тензорной доски - PullRequest
3 голосов
/ 18 марта 2020

Я пытаюсь использовать тензорную доску на колабе. Мне удается заставить его работать, но не для всех команд. add_graph и add_scalar работает, но когда я пытался запустить add_embedding, я получаю следующую ошибку:

AttributeError: module 'tensorflow._api.v1.io.gfile' has no attribute 'get_filesystem'

Это соответствующий код (я думаю);

import os
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(log_dir ="logs" )

images, labels = select_n_random(trainset.data, trainset.targets)
images = torch.from_numpy(images)
labels = torch.from_numpy(np.array(labels))
class_labels = [classes[lab] for lab in labels]

# log embeddings
features = images.reshape((-1,32*32*3))
writer.add_embedding(features,metadata=class_labels) #, label_img=images.unsqueeze(1))

Полная ошибка это:

/tensorflow-1.15.0/python3.6/tensorflow_core/python/util/module_wrapper.py in __getattr__(self, name)
    191   def __getattr__(self, name):
    192     try:
--> 193       attr = getattr(self._tfmw_wrapped_module, name)
    194     except AttributeError:
    195       if not self._tfmw_public_apis:

AttributeError: module 'tensorflow._api.v1.io.gfile' has no attribute 'get_filesystem'

с использованием

  • tenorflow-1.15.0 (попытался установить 2.0, но возникли другие проблемы)
  • Python 3.6.9
  • torch 1.4.0
  • тензорная доска 2.1.1 (пробовал также с 1.15.0, но та же проблема)

Я также пытался использовать команду "magi c" :

%load_ext tensorboard
%tensorboard --logdir logs

Но я не смог заставить это работать таким образом (другие проблемы).

Какие-нибудь предложения, как я могу заставить это работать?

Ответы [ 3 ]

0 голосов
/ 17 апреля 2020

Я выполняю свой код в Colab, и, похоже, возникают проблемы с writer.py

# helper function
def select_n_random(data, labels, n=100):
    '''
    Selects n random datapoints and their corresponding labels from a dataset
    '''
    assert len(data) == len(labels)

    perm = torch.randperm(len(data))
    return data[perm][:n], labels[perm][:n]

# select random images and their target indices
images, labels = select_n_random(trainset.data, trainset.targets)

# get the class labels for each image
class_labels = [classes[lab] for lab in labels]

# log embeddings
features = images.view(-1, 28 * 28)
writer.add_embedding(features,
                    metadata=class_labels,
                    label_img=images.unsqueeze(1))
writer.close() 

Во время работы с этим учебником в Colab https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html

0 голосов
/ 06 мая 2020

Для меня это исправило проблему:

import tensorflow as tf
import tensorboard as tb
tf.io.gfile = tb.compat.tensorflow_stub.io.gfile
0 голосов
/ 31 марта 2020

Удалите тензор потока. Не устанавливайте TenorsFlow с горелкой в ​​той же среде. Если вы устанавливаете tenorflow, тензорная доска может сначала попытаться использовать API Тензорного потока.

Тогда вы можете столкнуться с этой проблемой: Объект 'LocalFileSystem' не имеет атрибута 'makedirs' .
Там такое решение - https://github.com/pytorch/pytorch/issues/34028

  • Деинсталлированный тензор потока
  • Переустановка тензорной доски
    PS: перезапуск ядра и тензорной доски.

Тензорная доска 2.2.0 и факел 1.14.0 у меня работают.

...