На Tensorboard отображается пустая страница (отказано в выполнении скрипта из 'http://localhost: 6006 / index. js', потому что его тип MIME) - PullRequest
2 голосов
/ 09 февраля 2020

При попытке открыть tesnorflow я просто получаю страницу доски: enter image description here

Вот как это выглядит в firefox:

enter image description here

В консоли chrome появляется сообщение об ошибке:

Refused to execute script from 'http://localhost:6006/index.js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled.

В консоли firefox появляется сообщение об ошибке:

The resource from “http://localhost:6006/index.js” was blocked due to MIME type (“text/plain”) mismatch (X-Content-Type-Options: nosniff)

и

Loading failed for the <script> with source “http://localhost:6006/index.js”.

Я пытался:
Невозможно открыть Tensorboard в браузере
Tensorboard получить пустую страницу

Я набрал в консоли:

tensorboard --logdir=runs --bind_all
tensorboard --logdir=./runs --bind_all
tensorboard --logdir=./runs/ --bind_all
tensorboard --logdir=./runs --host localhost --port 6006  
tensorboard --logdir=./runs --host localhost 
tensorboard --logdir=./runs --port 6006 --bind_all

У меня версия тензорной доски: 2.1.0 Я сгенерировал свои данные так:

 train_set = torchvision.datasets.FashionMNIST(
        root="./data/FashionMNIST",
        train=True,
        download=True,
        transform=transforms.Compose([
            transforms.ToTensor()
        ])
    )
train_loader = torch.utils.data.DataLoader(train_set, batch_size=1000)
tb = SummaryWriter()

network = Network()
images, labels = next(iter(train_loader))
grid = torchvision.utils.make_grid(images)

tb.add_image("image", grid)
tb.add_graph(network, images)
tb.close()

Я следовал этому уроку: TensorBoard с PyTorch - визуализация метрик глубокого обучения

Ответы [ 2 ]

2 голосов
/ 29 марта 2020

Если вы не можете или не хотите изменять реестр windows для его исправления (поскольку для него требуются некоторые привилегии, которых у вас может не быть), вы можете использовать только один вариант - установить его непосредственно в модуле lib mimetypes.

Обычно он находится на C:\python38\Lib\mimetypes.py, но вы можете найти его, запустив в командной строке следующее:

python -c "import mimetypes; print(mimetypes.__file__)"

Откройте напечатанный файл (вам могут потребоваться права администратора). если это не локальная установка python), найдите строку def guess_type(...):, которая в моей версии находится в строке 97, и добавьте следующие строки в начале функции (в моем случае это было в L116 и L117):

if (isinstance(url, str) and url[-3:] == '.js'):
    return 'application/javascript', None

После сохранения вернитесь в командную строку и проверьте, работает ли он:

python -c "import mimetypes; print(mimetypes.guess_type('index.js'))"

Обратите внимание, что это «жесткое кодирование» не всегда является лучшим опция, так как при обновлении версии python mimetypes.py будет удалено с этим «исправлением», но это полезно при использовании локальной установки python на школьном компьютере, например.

Есть обсуждение этой проблемы на * Тензорный репозиторий , если вы хотите sh, чтобы узнать больше об этом.

2 голосов
/ 10 февраля 2020

Здесь сообщается о подобной ошибке и разрешении здесь .

Очевидно, это связано с некоторой проблемой в реестре windows. Судя по комментариям, это, кажется, решение

В моем случае следующая процедура решила проблему:

  1. windows + r и regedit
  2. [ваш компьютер] \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes. js
  3. Измените тип контента с 'text / plain' на 'application / javascript'
...