web-dev-qa-db-ja.com

tensorboard colab tensorflow._api.v1.io.gfile」には属性「get_filesystem」がありません

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'

を使用して

  • tensorflow-1.15.0(2.0をインストールしようとしましたが、別の問題がありました)
  • Python 3.6.9
  • トーチ1.4.0
  • tensorboard 2.1.1(1.15.0でも試してみましたが、同じ問題)

また、「magic」コマンドを使用してみました。

%load_ext tensorboard
%tensorboard --logdir logs

しかし、私はそれをそのように機能させることができませんでした(他の問題)。

どのようにすればそれを機能させることができますか?

4
justadev

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
Alberto Tono

Tensorflowをアンインストールします。トーチと一緒にtensorflowを同じ環境にインストールしないでください。 tensorflowをインストールすると、テンソルボードは最初にtensorflowのAPIを使用しようとする場合があります。

次に、この問題が発生する可能性があります: 'LocalFileSystem'オブジェクトに属性 'makedirs'がありません。
解決策があります- https://github.com/pytorch/pytorch/issues/34028

  • Tensorflowをアンインストールしました
  • Tensorboardを再インストール
    PS:カーネルとテンソルボードを再起動します。

tensorboard 2.2.0とtorch 1.14.0が動作します。

0
李金苗