пытаясь создать набор данных тензорного потока с tf.data.experimental.make_csv_dataset из сжатого файла tsv - PullRequest
0 голосов
/ 29 мая 2020
sadf -U -- -A | gzip -c >f.out.gz  # just to create tab separated test file

Первая часть кода не работает. Это случается при попытках со сжатыми файлами; но когда я пытаюсь использовать простой текстовый файл без сжатия, он работает нормально.

что я делаю не так?

Заранее благодарю за любую помощь.

Образец файла создается с помощью sar output:

sadf -U -- -A | gzip -c >f.out.gz 

Теперь python код работает на машине redhat 6 ... в среде conda ... python3 код: импортировать тензорный поток как tf tf.enable_eager_execution () percod_file = '. /f.out.gz 'dataset2 = tf.data.experimental.make_csv_dataset (percod_file, batch_size = 1, column_names = [' host ',' interval ',' timestamp ',' dev ',' metri c ',' value '], column_defaults = None, label_name = None, select_columns = None, field_delim =' \ t ', use_quote_delim = False, na_value =' ', header = False, num_epochs = None, shuffle = False, compress_type =' GZIP ')

Это заканчивается ошибкой: UnicodeDecodeError: код 'utf-8' c не может декодировать байт 0x8b в позиции 1: недопустимый начальный байт. Но следующая часть работает нормально:

percod_file='./f.out'
dataset2 = tf.data.experimental.make_csv_dataset(
    percod_file , batch_size=1 , column_names=['host','interval','timestamp','dev','metric','value'], 
    column_defaults=None,        label_name=None, select_columns=None, field_delim='\t', 
    use_quote_delim=False, na_value='', header=False, num_epochs=None,shuffle=False,  
    compression_type=None)

for feat in dataset2.take(10):
    print('Feature: {}'.format(feat))
...