Colabでテンソルボードを使用しようとしています。私はなんとかそれを動作させることができましたが、すべてのコマンドに対してではありません。 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'
を使用して
また、「magic」コマンドを使用してみました。
%load_ext tensorboard
%tensorboard --logdir logs
しかし、私はそれをそのように機能させることができませんでした(他の問題)。
どのようにすればそれを機能させることができますか?
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
Tensorflowをアンインストールします。トーチと一緒にtensorflowを同じ環境にインストールしないでください。 tensorflowをインストールすると、テンソルボードは最初にtensorflowのAPIを使用しようとする場合があります。
次に、この問題が発生する可能性があります: 'LocalFileSystem'オブジェクトに属性 'makedirs'がありません。
解決策があります- https://github.com/pytorch/pytorch/issues/34028
tensorboard 2.2.0とtorch 1.14.0が動作します。