使用张量流运行一维转换

时间:2018-10-12 19:23:02

标签: python tensorflow conv-neural-network

我是TensorFlow的初学者。我想训练一维转换模型。 我的原始数据的每一行都有一行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)是单行csv文件的标签

link之后,我编写了以下代码。

我使用以下代码将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.array中 尺寸为(6571,65281)。 由于是天文数据,每颗恒星都有65781点。

0 个答案:

没有答案