tensorflow 版本 1.2
# coding=utf8
import tensorflow as tf
import numpy as np
import random
from tensorflow.examples.tutorials.mnist import input_data
# for MNIST class_num = 10
class_num = 10
batch_size = 128
hidden_size = 256
layer_num = 2
lr = 0.001
keep_prob = 0.5
feature_num = 13
epochs = 50
display_step = 30
model_file_prefix = ''
def load_inputs():
inputs = []
labels = []
return inputs, labels
def sample(data, label, ratio):
train_data = []
train_label = []
test_data = []
test_label = []
length = len(data)
for i in range(length):
if random.random() > ratio:
train_data.append(data[i])
train_label.append(label[i])
else:
test_data.append(data[i])
test_label.append(label[i])
return train_data, train_label, test_data, test_label
def pad_batch(x_batch):
# 取x_batch中长度最大的值
max_length = max([len(x) for x in x_batch])
# 对x_batch中长度不够的补pad
return [x + [[0] * feature_num] * (max_length - len(x)) for x in x_batch]
def one_hot_label(y_label):
y_labels = []
for label in y_label:
tp = [0] * class_num
tp[label] = 1
y_labels.append(tp)
return y_labels
def get_batches(xx, yy):
# 定义生成器,用来获取batch
for batch_i in range(0, len(xx) / batch_size):
start_i = b