Tfx: components that depend on TFDV fail to import as a result of the release of TFDV 0.21.2

Created on 20 Feb 2020  路  4Comments  路  Source: tensorflow/tfx

This is related to https://github.com/tensorflow/tfx-bsl/issues/3

STEPS TO REPRODUCE (colab)

!pip install tfx==0.21.0 tensorflow==2.1
# restart runtime
from tfx.components import CsvExampleGen

observe the following error:

<ipython-input-1-b8326c471c1e> in <module>()
----> 1 from tfx.components import CsvExampleGen

4 frames
/usr/local/lib/python3.6/dist-packages/tfx/components/__init__.py in <module>()
     26 from tfx.components.example_gen.csv_example_gen.component import CsvExampleGen
     27 from tfx.components.example_gen.import_example_gen.component import ImportExampleGen
---> 28 from tfx.components.example_validator.component import ExampleValidator
     29 from tfx.components.model_validator.component import ModelValidator
     30 from tfx.components.pusher.component import Pusher

/usr/local/lib/python3.6/dist-packages/tfx/components/example_validator/component.py in <module>()
     25 from tfx.components.base import base_component
     26 from tfx.components.base import executor_spec
---> 27 from tfx.components.example_validator import executor
     28 from tfx.types import standard_artifacts
     29 from tfx.types.standard_component_specs import ExampleValidatorSpec

/usr/local/lib/python3.6/dist-packages/tfx/components/example_validator/executor.py in <module>()
     23 
     24 import absl
---> 25 import tensorflow_data_validation as tfdv
     26 
     27 from tfx import types

/usr/local/lib/python3.6/dist-packages/tensorflow_data_validation/__init__.py in <module>()
     31 
     32 # Import coders.
---> 33 from tensorflow_data_validation.coders.csv_decoder import DecodeCSV
     34 from tensorflow_data_validation.coders.tf_example_decoder import DecodeTFExample
     35 

/usr/local/lib/python3.6/dist-packages/tensorflow_data_validation/coders/csv_decoder.py in <module>()
     24 from tensorflow_data_validation import types
     25 from tfx_bsl.coders import csv_decoder as csv_decoder
---> 26 from tfx_bsl.tfxio import record_based_tfxio
     27 from typing import List, Iterable, Optional, Text
     28 

ImportError: cannot import name 'record_based_tfxio'

downgrading to tfdv 0.21.1 resolves the issue.

bug awaiting response

All 4 comments

@jasonbrancazio There will be a new tfx_bsl release today which should fix this issue.

@MiladShahidi I saw that as well. TFDV removed TFExampleDecoder, but the components tutorial hasn't yet been updated. It be should filed as an issue separate from this bug, though, as this bug was about record_based_tfxio and not TFExampleDecoder.

@jasonbrancazio,
From the above comment, we understand that the issue has been resolved. Can you please confirm if we can close this issue. Thanks!

resolved, thanks!

Was this page helpful?
0 / 5 - 0 ratings