TensorFlow篇——常用函数

参考别人代码,自己提取的轮子
1、onehot操作
labels=np.array([1,2,3,4,5,6])

def to_one_hot(labels):
    num_class=np.unique(labels).shape[0]
    num_labels=labels.shape[0]
    onehotmatrix=np.zeros((num_labels,num_class))
    for i,j in enumerate(labels):
        onehotmatrix[i][j-1]=1
    return onehotmatrix

2、划分训练集
80%为训练,20%为验证

def split(train_data,train_labels):
    shuffled_ix=np.random.permutation(np.arange(len(train_labels)))
    x_shuffled=train_data[shuffled_ix]
    y_shuffled=train_labels[shuffled_ix]
    ix_cutoff=int(len(y_shuffled)*0.80)
    x_train,x_test=x_shuffled[:ix_cutoff],x_shuffled[ix_cutoff:]
    y_train,y_test=y_shuffled[:ix_cutoff],y_shuffled[ix_cutoff:]

3、batch训练

'''
batch训练与验证
传入参数:
epochs
x_train 
y_train
batch_size
'''
for epoch in range(epochs):
    shuffled_ix=np.random.permutation(np.arange(len(x_train)))
    x_train=x_train[shuffled_ix]
    y_train=y_train[shuffled_ix]
    num_batches=int(len(x_train)/batch_size)+1
    for i in range(num_batches):
        min_ix=i*batch_size
        max_ix=np.min([len(x_train),((i+1)*batch_size)])
        x_train_batch=x_train[min_ix:max_ix]
        y_train_batch=y_train[min_ix:max_ix]
        train_dict={x_data:x_train_batch,y_output:y_train_batch,dropout_keep_prob:0.5}
        sess.run(train_step,feed_dict=train_dict)
    train_loss=sess.run(loss,feed_dict=train_dict)
    test_dict={x_data:x_test,y_output:y_test,dropout_keep_prob:1.0}
    test_loss=sess.run(loss,feed_dict=test_dict)

4、待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值