莫烦机器学习笔记【二】

一、建立一个简单的神经网络

import tensorflow as tf
import numpy as np

#定义一个添加层的函数
def add_layer(inputs,in_size,out_size,activation_function=None):	#要添加的功能 None时为线性函数
	Weights = tf.Variable(tf.random_normal([in_size,out_size]))	#定义矩阵    大写开头/ 随机变量要比全部为0好很多
	biases = tf.Variable(tf.zeros([1,out_size])+0.1)		#定义biases  类似列表的东西/初始值推荐不为0
	Wx_plus_b = tf.matmul(inputs,Weights) + biases			#定义操作    预测出来的值 还未使用激活函数
	if activation_function is None:
		output = Wx_plus_b
	else:
		output = activation_funcion(Wx_plus_b)
	return outputs

#建造神经网络
x_data = np.linspace(-1,1,300)[:,np.newaxis]	#-1到1的区间 300个单位 
noise = np.random.normal(0,0.05,x_data.shape)	#加噪点使其更加接近真实的数据 均值0 方差0.05 格式和x_data一样
y_data = np.square(x_data) - 0.5 + noise

###
输入层	输入多少个data就有多少个神经元 1个神经元
隐藏层	1层 10个神经元
输出层	1个属性就只有1个神经元
###

xs = tf.placeholder(tf.float32,[None,1])	                    #None表示无论给多少个例子都可以
ys = tf.placeholder(tf.float32,[None,1])

#hidden layer1
l1 = add_layer(xs,1,10,activation_function=tf.nn.relu)	            #输入的数据;x_data的size;隐藏层的神经元;激活函数

#输出层
prediction = add_layer(l1,10,1,activation_function = None)	    #上一层的数据l1;上一层的神经元个数10;输出层的数据1

#计算loss
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))	#tf.reduce_sum()求和 tf.reduce_mean()求平均 

#设置训练
train_step = tf.train.GradientDescentOptimizer.minimize(0.1,loss)    #要给定学习率;使用优化器来对loss进行最小化

#对所有变量进行初始化
init = tf.global_variables_initializer()	

#定义session
sess = tf.Session()	
#上面的都还没开始运算 直到run
sess.run(init)		

#学习多少步 重复1000次
for i in range(1000):
	sess.run(train_step,feed_dict={xs:x_data,ys:y_data})	    #这里是用的全部的数据来提高运算
	if i%50 == 0:
		print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))
 
 

报错


【报错】并且在pycharm运行无法import tensorflow 

   在pycharm的setting里面选择interpreter 然后点旁边的加号 在里面搜TensorFlow 直接点安装就阔以了【感觉很邪教啊囧】

   看网上说添加TensorFlow的python.exe 但是木有找到 而且为啥我的anaconda下面的envs是空的 怎么肥似

   然后依旧是说minimize()不对 是参数少写了啥吗0.0 啊 智商不够用好难过QWQ

 _(:з」∠)_端午节先回家看世界杯了 等放完假回来再瞅瞅

  2018.6.21 最后发现是loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))里的ys-prediction打成了 y_data-ys 窒息了

二、 可视化




猜你喜欢

转载自blog.csdn.net/qq_22527013/article/details/80701695
今日推荐