softMax交叉熵多分类参数调优之学习率调节

import tensorflow as tf
import os
import numpy as np
import numpy as np
os.environ[‘TF_CPP_MIN_LOG_LEVEL’] = ‘3’

import warnings

warnings.filterwarnings(“ignore”)

#from tensorflow.examples.tutorials.mnist import input_data

#定义随机种子
tf.set_random_seed(333)

#读取数据
m = eval(input())
data = []
for i in range(m):
s = list(map(lambda x:float(x),input().split(",")))
data.append(s)
data = np.array(data)
#data = np.loadtxt(“data.txt”,delimiter=",")
#x_pre = np.array([list(map(lambda x:float(x),input().split(" ")))])

#数据分割
x_data = data[:,:-1]
y_data = data[:,[-1]]
y_one_hot = tf.one_hot(y_data,2)
#将y_one_hot改变形状
y_one_hot = tf.reshape(y_one_hot,[-1,2])

#定义占位符
x = tf.placeholder(tf.float32,shape=[None,8])
y = tf.placeholder(tf.int32,shape=[None,1])

#初始化权重和偏执
w = tf.Variable(tf.random_normal([8,2],seed=333),name=“weight”)
b = tf.Variable(tf.random_normal([2],seed=333),name=“bias”)

#预测函数
logits = tf.matmul(x,w)+b
predict = tf.argmax(logits,axis=1)
correct_pre = tf.equal(predict,tf.argmax(y_one_hot,1))
accuracy = tf.reduce_mean(tf.cast(correct_pre,tf.float32))
#定义代价
cost =tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits,labels=y_one_hot))
#cost = tf.reduce_mean(-tf.reduce_sum(y_one_hot*tf.log(tf.nn.softmax(logits)),axis=1))

#定义会话

lis = []
learn = []

for learning_rate in np.arange(0.01,0.21,0.01):
sess = tf.Session()
sess.run(tf.global_variables_initializer())
#print(learning_rate)
#注意此处的train 不能定义在step里面 不然程序会很慢
train = tf.train.GradientDescentOptimizer(learning_rate=learning_rate).minimize(cost)
for step in range(50):
sess.run(train, feed_dict={x: x_data, y: y_data})
lis.append(sess.run(accuracy, feed_dict={x: x_data, y: y_data}))
learn.append(learning_rate)
sess.close()

print(round(learn[np.argmax(np.array(lis))],2),np.max(np.array(lis)))

        #print(sess.run(predict,feed_dict={x:x_pre}))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值