Получите предупреждение автографа tenorflow при построении модели, вызвав определяемый пользователем модуль - PullRequest
1 голос
/ 28 января 2020

Я пытался построить модель, вызвав модуль самоопределения в Google Colab, но получил предупреждение autoGraph.

Структура папки:

drive/My Drive/Colab Notebooks/stackoverflow/q001/
├── train
│   └── train.ipynb          # The place where I implement model
│                            # import models.get_ResNet13(.)
│   
└── tools
    └── dl
        ├── __init__.py 
        ├── layers.py
        └── models.py        # import layers.ResidualBottleneckBlock

Код:

layer.py код

models.py код

import tensorflow as tf
from tensorflow.keras.models import Model
from tensorflow.keras.layers import *
from .layers import ResidualBottleneckBlock

def get_ResNet13(input_shape, output_shape):
    ...
    ...ResidualBottleneckBlock()...
    ...
    return model
...

train.ipynb код :

## Mount Google Drive
import os
from google.colab import drive 
drive.mount('/content/drive') 
os.chdir("drive/My Drive/Colab Notebooks/stackoverflow/q001/")

## Import
%tensorflow_version 2.x
import tensorflow as tf
import sys
sys.path.append('tools')
from dl import models

## Change Directory
os.chdir('train')
model = models.get_ResNet13(input_shape=(28, 28, 1), output_shape=10)

Результат:

В последняя строка train.ipynb:

model = models.get_ResNet13(input_shape=(28, 28, 1), output_shape=10)

Я получаю следующее предупреждение:

ПРЕДУПРЕЖДЕНИЕ: tenenflow: AutoGraph не смог преобразовать> и запустит его как есть. Пожалуйста, сообщите об этом команде TensorFlow. Когда вы регистрируете ошибку, установите многословие 10 (на Linux, export AUTOGRAPH_VERBOSITY=10) и приложите полный вывод. Причина: невозможно найти исходный код>. Обратите внимание, что функции, определенные в определенных средах, таких как интерактивная оболочка Python, не предоставляют свой исходный код. Если это так, вы должны определить их в исходном файле .py. Если вы уверены, что код совместим с графиком, оберните вызов с помощью @ tf.autograph.do_not_convert. Исходная ошибка: не удалось получить исходный код ВНИМАНИЕ: AutoGraph не смог преобразовать> и запустит его как есть. Пожалуйста, сообщите об этом команде TensorFlow. При регистрации ошибки, установите многословие 10 (на Linux, export AUTOGRAPH_VERBOSITY=10) и приложите полный вывод. Причина: невозможно найти исходный код>. Обратите внимание, что функции, определенные в определенных средах, таких как интерактивная оболочка Python, не предоставляют свой исходный код. Если это так, вы должны определить их в исходном файле .py. Если вы уверены, что код совместим с графиком, оберните вызов с помощью @ tf.autograph.do_not_convert. Исходная ошибка: не удалось получить исходный код ...

Я попытался добавить следующий код, но он не работает. Версия gast в colab уже 0.2.2.

!pip install gast==0.2.2

Я также обнаружил, что предупреждение не появится, если следующий код удален .

os.chdir('train')

Модель все еще может быть обучена. Я понятия не имею, могу ли я проигнорировать предупреждение или нет.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...