def data_input(testing_datalist, networks, feature, x, y, sess):
    # testing_datalist = './dataset_splits/one_shot_train_22.txt'
    features = []
    batch_size = 1
    seq_len = 32
    X_test, y_test = data.load_video_list(testing_datalist)
    X_teidx = np.asarray(np.arange(0, len(y_test)), dtype=np.int32)
    y_test = np.asarray(y_test, dtype=np.int32)
    for X_indices, y_label_t in tl.iterate.minibatches(X_teidx,
                                                       y_test,
                                                       batch_size,
                                                       shuffle=False):
        # Read data for each batch
        image_path = []
        image_fcnt = []
        image_olen = []
        is_training = []
        for data_a in range(batch_size):
            X_index_a = X_indices[data_a]
            key_str = '%06d' % X_index_a
            image_path.append(X_test[key_str]['videopath'])
            image_fcnt.append(X_test[key_str]['framecnt'])
            image_olen.append(seq_len)
            is_training.append(False)  # Testing
            image_info = zip(image_path, image_fcnt, image_olen, is_training)
        X_data_t = tl.prepro.threading_data([_ for _ in image_info],
                                            data.prepare_isogr_depth_data)
        feed_dict = {x: X_data_t, y: y_label_t}
        dp_dict = tl.utils.dict_to_one(networks.all_drop)
        feed_dict.update(dp_dict)
        feature_ = sess.run(feature, feed_dict=feed_dict)
        features.extend(feature_)
    return features
def data_input(testing_datalist,networks,feature,x,y,sess):
    # testing_datalist = './dataset_splits/one_shot_train_22.txt'
    features = []
    batch_size=1
    seq_len=32
    X_test, y_test = data.load_video_list(testing_datalist)
    X_teidx = np.asarray(np.arange(0, len(y_test)), dtype=np.int32)
    y_test = np.asarray(y_test, dtype=np.int32)
    for X_indices, y_label_t in tl.iterate.minibatches(X_teidx,
                                                       y_test,
                                                       batch_size,
                                                       shuffle=False):
        # Read data for each batch
        image_path = []
        image_fcnt = []
        image_olen = []
        is_training = []
        for data_a in range(batch_size):
            X_index_a = X_indices[data_a]
            key_str = '%06d' % X_index_a
            image_path.append(X_test[key_str]['videopath'])
            image_fcnt.append(X_test[key_str]['framecnt'])
            image_olen.append(seq_len)
            is_training.append(False)  # Testing
            image_info = zip(image_path, image_fcnt, image_olen, is_training)
        X_data_t = tl.prepro.threading_data([_ for _ in image_info],
                                            data.prepare_isogr_depth_data)
        feed_dict = {x: X_data_t, y: y_label_t}
        dp_dict = tl.utils.dict_to_one(networks.all_drop)
        feed_dict.update(dp_dict)
        feature_ = sess.run( feature,feed_dict=feed_dict)
        features.extend(feature_)
    return features
Esempio n. 3
0
    batch_size,
], name='y')

sess = tf.InteractiveSession()

networks = net.c3d_clstm(x, num_classes, False, False)
network_pred = tf.nn.softmax(networks.outputs)
network_y_op = tf.argmax(tf.nn.softmax(networks.outputs), 1)
network_accu = tf.reduce_mean(
    tf.cast(tf.equal(tf.cast(network_y_op, tf.int32), y), tf.float32))

sess.run(tf.initialize_all_variables())

# RGB
testing_datalist = 'image4LSTM/test/test_rgb_DF.txt'
X_test, y_test = data.load_video_list(testing_datalist)
X_teidx = np.asarray(np.arange(0, len(y_test)), dtype=np.int32)
y_test = np.asarray(y_test, dtype=np.int32)
rgb_prediction = np.zeros((len(y_test), num_classes), dtype=np.float32)
load_params = tl.files.load_npz(name='Rgb_DF_model.npz')
tl.files.assign_params(sess, load_params, networks)
# networks.print_params(True)
average_accuracy = 0.0
test_iterations = 0
print '%s: rgb testing' % datetime.now()
for X_indices, y_label_t in tl.iterate.minibatches(X_teidx,
                                                   y_test,
                                                   batch_size,
                                                   shuffle=False):
    # Read data for each batch
    image_path = []
Esempio n. 4
0
                                decay_steps,
                                decay_rate,
                                staircase=True)
train_params = networks.all_params
train_op = tf.train.GradientDescentOptimizer(lr).minimize(
    cost, var_list=train_params, global_step=global_step)

sess.run(tf.initialize_all_variables())
if start_step > 0:
    load_params = tl.files.load_npz(name='%s_model_iter_%d.npz' %
                                    (dataset_name, start_step))
    tl.files.assign_params(sess, load_params, networks)
networks.print_params(True)

# Data Reading
X_train, y_train = data.load_video_list(training_datalist)
X_tridx = np.asarray(np.arange(0, len(y_train)), dtype=np.int32)
y_train = np.asarray(y_train, dtype=np.int32)
X_test, y_test = data.load_video_list(testing_datalist)
X_teidx = np.asarray(np.arange(0, len(y_test)), dtype=np.int32)
y_test = np.asarray(y_test, dtype=np.int32)

X_data_a = np.empty((batch_size * queue_num, seq_len, 112, 112, 3), float)
y_label_a = np.empty((batch_size * queue_num, ), int)

full_flg = np.zeros((queue_num, 1))
rdwr_lock = threading.Lock()


def training_data_read():
    wr_pos = 0
Esempio n. 5
0
merged = tf.summary.merge_all()
train_writer = tf.summary.FileWriter('train_log', sess.graph)
# load the parameters from the pre-trained model
if start_step > 0:
    load_params = tl.files.load_npz(path='models/', name='model-1000.npz')
    tl.files.assign_params(sess, load_params, networks)
# tl.files.load_ckpt(sess,var_list=networks.all_params,mode_name="model-18000.ckpt",save_dir="models",printable=True)

networks.print_params(True)

# define the data queue
data_x = queue.Queue(maxsize=20)
data_y = queue.Queue(maxsize=20)

## load the file path and the labels
data, label = input.load_video_list(training_datalist)
X_tridx = np.asarray(np.arange(0, len(label)), dtype=np.int32)
y_train = np.asarray(label, dtype=np.int32)
X_data_a = np.empty((batch_size, seq_len, 112, 112, 3), float)
y_label_a = np.empty((batch_size, ), int)


def read_data():
    #get image and labels from the file path
    for i in range(n_epoch):
        # 获取对应批次的数据
        for X_indices, y_labels in tl.iterate.minibatches(X_tridx,
                                                          y_train,
                                                          batch_size,
                                                          shuffle=True):
  assign_params_my(sess, load_params[38:44], networks,58)
  assign_params_my(sess, load_params[44:50], networks,68)
  print 'load param from %s'%(pretrained_model)
networks.print_params(True)

def assign_params_my(sess, params, network,index):
    ops = []
    for idx, param in enumerate(params):
        ops.append(network.all_params[idx+index].assign(param))
    if sess is not None:
        sess.run(ops)
    return ops

  
# Data Reading
X_train,y_train = data.load_video_list(training_datalist)
#X_tridx is an array of (0,len(y_train)
X_tridx = np.asarray(np.arange(0, len(y_train)), dtype=np.int32)
#y_train is an array of label
y_train = np.asarray(y_train, dtype=np.int32)
X_test,y_test = data.load_video_list(testing_datalist)
X_teidx = np.asarray(np.arange(0, len(y_test)), dtype=np.int32)
y_test  = np.asarray(y_test, dtype=np.int32)
#X_data_a  full of 0        y_label_a  very large number
X_data_a  = np.empty((batch_size*queue_num, seq_len, 112, 112, 3),float)      
y_label_a = np.empty((batch_size*queue_num,),int)

full_flg  = np.zeros((queue_num, 1))
rdwr_lock = threading.Lock()

def training_data_read():
feature, networks = net.c3d_biclstm(x, num_classes, False, False)
feature=feature.outputs
network_pred = tf.nn.softmax(networks.outputs)
network_y_op = tf.argmax(tf.nn.softmax(networks.outputs), 1)
pre_label=tf.cast(network_y_op,tf.int32)
network_accu = tf.reduce_mean(tf.cast(tf.equal(tf.cast(network_y_op, tf.int32), y), tf.float32))

sess.run(tf.global_variables_initializer())

# Depth
testing_datalist = './dataset_splits/test_samples.txt'
features=[]
labels=[]
true_labels=[]
X_test, y_test = data.load_video_list(testing_datalist)
X_teidx = np.asarray(np.arange(0, len(y_test)), dtype=np.int32)
y_test = np.asarray(y_test, dtype=np.int32)
testing_label = np.zeros((len(y_test), 1), dtype=np.float32)
depth_prediction = np.zeros((len(y_test), num_classes), dtype=np.float32)
#the pre-trained model is trained on 19 classes of gestures
load_params = tl.files.load_npz(name='%s/beihang_dataset_birnn_model_epoch_10.npz' % (model_prefix))
tl.files.assign_params(sess, load_params, networks)
# networks.print_params(True)
test_iterations = 0
print '%s: depth testing' % datetime.now()
for X_indices, y_label_t in tl.iterate.minibatches(X_teidx,
                                                   y_test,
                                                   batch_size,
                                                   shuffle=False):
    # Read data for each batch