Exemplo n.º 1
0
# Misc Parameters
tf.flags.DEFINE_boolean("allow_soft_placement", True, "Allow device soft device placement")
tf.flags.DEFINE_boolean("log_device_placement", False, "Log placement of ops on devices")

FLAGS = tf.flags.FLAGS
FLAGS._parse_flags()
print("\nParameters:")
for attr, value in sorted(FLAGS.__flags.items()):
    print("{}={}".format(attr.upper(), value))
print("")

# Data preparation
# Load data
print('Loading data ...')
s1, s2, score = data_helper.read_data_sets(FLAGS.data_file)
print(s1.shape)
score = np.asarray([[s] for s in score])
sample_num = len(score)
train_end = int(sample_num * FLAGS.train_sample_percentage)

# Split train/test set
# TODO: This is very crude, should use cross-validation
s1_train, s1_dev = s1[:train_end], s1[train_end:]
s2_train, s2_dev = s2[:train_end], s2[train_end:]
score_train, score_dev = score[:train_end], score[train_end:]
print("Train/Dev split: {:d}/{:d}".format(len(score_train), len(score_dev)))

# Training

with tf.Graph().as_default():
    return tf.Variable(initial,name='weights')

def bias_variable(shape):
    initial = tf.constant(0.1, shape=shape)
    return tf.Variable(initial,name='biases')

def conv2d(x, W):
    return tf.nn.conv2d(x, W, strides=[1,1,1,1],padding='SAME',name='conv')

def max_pool_22(x):
    return tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1,2,2,1], padding='SAME',name='pool')

# 函数read_data_sets:输入文件名,返回训练集,测试集的两个句子,标签,和嵌入矩阵
# 其中,embedding_w大小为vocabulary_size × embedding_size
s1_train ,s2_train ,label_train, s1_test, s2_test, label_test, embedding_w = \
    data_helper.read_data_sets('MNIST_data')
print "得到9840维的s1_image,s2_image, label"

with  tf.name_scope('inputs'):
    x1 = tf.placeholder(tf.int64, shape=[None, 30], name='x1_input')
    x2 = tf.placeholder(tf.int64, shape=[None, 30], name='x2_input')
    y_ = tf.placeholder(tf.float32, shape=[None, 1], name='y_input')

s1_image = tf.nn.embedding_lookup(embedding_w, x1)
s2_image = tf.nn.embedding_lookup(embedding_w, x2)
x_image = tf.matmul(s1_image,s2_image, transpose_b=True)
x_flat = tf.reshape(x_image, [-1, 30, 30, 1])

with tf.name_scope('conv_layer'):
    with tf.name_scope('weights'):
        W_conv1 = weight_variable([5, 5, 1, 2])
Exemplo n.º 3
0
FLAGS = tf.flags.FLAGS
FLAGS._parse_flags()
print("\nParameters:")
for attr, value in sorted(FLAGS.__flags.items()):
    print("{}={}".format(attr.upper(), value))
print("")


# Data Preparation
# ==================================================

# Load data
print("Loading training data...")

s1, s2, label, seqlen1, seqlen2 = data_helper.read_data_sets(FLAGS.data_file)
print "in RNN_train.py read_data_sets finish"
#label = np.asarray([y] for y in label)
#print "label.type is", type(label)
sample_num = len(label)
train_end = int(sample_num * FLAGS.train_sample_percentage)

print "sample_num=",sample_num
print "train_end=",train_end

## Split train/test set
## TO_DO : This is very crude, should use cross-validation

s1_train, s1_dev =                s1[:train_end], s1[train_end:]
s2_train, s2_dev =                s2[:train_end], s2[train_end:]
y_train, y_dev   =             label[:train_end], label[train_end:]