расщепление tfds с выдачей AssertionError в python 3 и тензор потока 2 - PullRequest
1 голос
/ 01 марта 2020

Этот следующий код работает, когда я переключаю свою среду выполнения на python 2. Но в python 3 он выдает мне ошибку.

test, train = tfds.Split.TRAIN.subsplit([1, 8])

train_set_raw = tfds.load("tf_flowers", split=train, as_supervised=True)
test_set_raw = tfds.load("tf_flowers", split=test, as_supervised=True)

-------- -------------------------------------------------- ----------------- Traceback AssertionError (последний вызов был последним) в () 1 valid_split, train_split = tfds.Split.TRAIN.subsplit ([1, 8]) 2 - -> 3 test_set_raw = tfds.load ("tf_flowers", split = train_split, as_supervised = True) 4 valid_set_raw = tfds.load ("tf_flowers", split = valid_split, as_supervised = True)

11 кадров / usr / local / lib / python3 .6 / dist-packages / tenorflow_daseasets / core / tfrecords_reader.py в _str_to_relative_instruction (spe c) 277 res = _SUB_SPEC_RE.match (spe c) 278, если не res: - > 279 повысить AssertionError ('Нераспознанный формат инструкции:% s'% spe c) 280 unit = '%' если res.group ('from_pct') или res.group ('to_pct') else 'abs' 281 вернуть ReadInstruction (

AssertionError: Нераспознанный формат инструкции: NamedSplit ('train') (tfds.percent [11: 100])

1 Ответ

0 голосов
/ 05 мая 2020

Пожалуйста, следуйте приведенному ниже решению для вашего требования

%tensorflow_version 2.x

import tensorflow as tf
import tensorflow_datasets as tfds

print(tfds.__version__)
print(tf.__version__)

(raw_test, raw_test), metadata = tfds.load(
'tf_flowers',
split=['train[:11%]', 'train[11%:100%]'],
with_info=True,
as_supervised=True)

Выход:

2.1.0
2.2.0-rc3
'\nSPLIT_WEIGHTS = (8, 1)
 \nsplits = tfds.Split.TRAIN.subsplit(weighted=SPLIT_WEIGHTS)
 \n(raw_train, raw_test), metadata = tfds.load(name="tf_flowers",with_info=True,split=list(splits))\n'
...