Запустите 1-D Conv, используя тензор потока - PullRequest
0 голосов
/ 12 октября 2018

Я новичок в TensorFlow.Я хочу тренировать 1-D модель.У меня есть однострочные CSV-файлы для каждой строки моих исходных данных.

CSV-файлы выглядят так

csv_file1: 1.1, 1.3, 1.5, 1.5, 1
csv_file2: 2.1, 2.3, 2.7, 2.9, 0

В последнем столбце (содержащем 1 и 0) указаны метки для одного-row csv файлы

По ссылке я написал следующие фрагменты кода.

Я преобразовал CSV-файлы в TFRecord, используя следующий код

    with tf.python_io.TFRecordWriter(filename) as writer:
        features, label = df_values[:, 1:-1], df_values[:, -1:]
        example = tf.train.Example()
        example.features.feature["features"].float_list.value.extend(features[0])
        example.features.feature["label"].int64_list.value.append(label[0])
        writer.write(example.SerializeToString())

Теперь я хочу прочитать файлы, и это код, который я использую.

def _parse_function(data_record):
    features = {
        'label': tf.FixedLenSequenceFeature([], tf.int64, allow_missing = True),
        'features': tf.FixedLenSequenceFeature([], tf.float32, allow_missing = True),
    }
    sample = tf.parse_single_example(data_record, features)
    return sample['features'], sample['label']

filenames = glob.glob("*.tfrecords")
dataset = tf.data.TFRecordDataset(filenames)
dataset = dataset.map(_parse_function)  
dataset = dataset.shuffle(buffer_size=10000)
dataset = dataset.batch(batch_len)
# Create a one-shot iterator
iterator = dataset.make_one_shot_iterator()

X,y = iterator.get_next()

Отсюда и начинается проблема. Из документации я понимаю, что делает сессия, но не могу вставить ее в код.Предполагая, что позже я выясню, как использовать

tf.seesion.run ()

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

x_train_batch, y_train_batch = tf.train.shuffle_batch(
tensors=[X_train, y_train],
batch_size=batch_size,
capacity=capacity,
min_after_dequeue=min_after_dequeue,
enqueue_many=True,
num_threads=8)

x_train_batch = tf.cast(x_train_batch, tf.float32)
x_train_batch = tf.reshape(x_train_batch, shape=(batch_size, 1,65281))

y_train_batch = tf.cast(y_train_batch, tf.int64)
y_train_batch = tf.one_hot(y_train_batch, num_classes)

Любая помощь относительно того, как действовать дальше, поможет.

PS: Предполагая, что мои данные были загружены в массив np.ar, размер был бы (6571, 65281).Поскольку это астрономические данные, каждая звезда имеет 65781 балл.

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