J'essaye d'utiliser tensorboard sur colab. J'arrive à le faire fonctionner, mais pas pour toutes les commandes. add_graph et add_scalar fonctionnent, mais lorsque j'ai essayé d'exécuter add_embedding, j'obtiens l'erreur suivante:
AttributeError: module 'tensorflow._api.v1.io.gfile' has no attribute 'get_filesystem'
C'est le code pertinent (je pense);
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))
L'erreur complète est:
/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'
en utilisant
J'ai également essayé d'utiliser la commande "magic":
%load_ext tensorboard
%tensorboard --logdir logs
Mais je n'ai pas pu le faire fonctionner de cette façon (autres problèmes).
Des suggestions comment puis-je le faire fonctionner?
J'exécute mon code dans Colab et il semble avoir des problèmes avec le 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()
Lors de l'exécution de ce tutoriel dans Colab https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html
Désinstallez le tensorflow. N'installez pas le tensorflow avec la torche dans le même environnement. Si vous installez tensorflow, tensorboard peut essayer d'utiliser d'abord l'API de tensorflow.
Vous pouvez alors rencontrer ce problème: L'objet 'LocalFileSystem' n'a pas d'attribut 'makedirs' .
Il existe une solution - https://github.com/pytorch/pytorch/issues/34028
tensorboard 2.2.0 et torch 1.14.0 fonctionnent pour moi.