tensorflow基础

一、tensorflow安装 
1.python3.5较好
2.命令
cd tensorflow/bin/.activity  //每次都需要激活虚拟环境
deactivity   //退出虚拟环境
touch/vim/python3 test.py  
ctrl+z  //退出


二、基本操作
1. 数据中心的基本单位 Tensors,0维tensor,例:3,一维tensor,例:[1,2,3],二维tensor,例:[[1,2],[3,4]],三维。。
2. import tensorflow as tf  //python可以访问所有的tensorflow类,函数,符号
import numpty as np   //数据的操纵与预处理
3. 计算图
3.1 计算图是由一系列的作用在节点上的运算构成
节点是0个或多个tensor输入,但只有一个tensor输出的单元
3.2 节点
常量节点
node1 = tf.constant(3.0, dtype=tf.float32)
node2 = tf.constant(4.0,dtype=tf.float32) #常量节点定义的时候就会初始化
变量节点
W = tf.Variable([.3], dtype=tf.float32)
b = tf.Variable([-.3], dtype=tf.float32)  #变量节点,定义的时候不会初始化,只有执行初始化函数才会初始化
占位节点
a = tf.placeholder(tf.float32) //placeholder承诺随后提供一个值
运算节点
from __future__ import print_function
node3 = tf.add(node1, node2)
3.2 运算
输出
sess = tf.Session()
print(sess.run([node1, node2]))
#输出是2个值,则需要加中括号,如果是函数,韩式的占位节点需要加字典初始化
变量节点初始化
init = tf.global_variables_initializer()
sess.run(init)
变量节点初始值修改
fixW = tf.assign(W, [-1.])
fixb = tf.assign(b, [1.])
sess.run([fixW,fixb])    #使得修改成功

from __future__ import print_function
node3 = tf.add(node1, node2)
函数
a = tf.placeholder(tf.float32) //placeholder承诺随后提供一个值
b = tf.placeholder(tf.float32)
adder_node = a + b
add_and_triple = adder_node * 3.
print(sess.run(adder_node, {a: [1, 3], b: [2, 4]}))


三、运用基本操作实现机器学习

import tensorflow as tf

#model parameters
w=tf.Variable([.3],dtype=tf.float32)
b=tf.Variable([-.3],dtype=tf.float32)
#model input and output
x=tf.placeholder(tf.float32)
y=tf.placeholder(tf.float32)
#model
liner_model=w*x+b

#loss
loss=tf.reduce_sum(tf.square(liner_model-y))
#optimizer
optimizer=tf.train.GradientDescentOptimizer(0.01)
train=optimizer.minimize(loss)

#training data
x_train=[1,2,3,4]
y_train=[0,-1,-2,-3]
#training loop
init=tf.global_variables_initializer()
sess=tf.Session()
sess.run(init)
for i in range(1000):
	sess.run(train,{x:x_train,y:y_train})

#evaluate training accuracy
cur_a,cur_b,cur_loss=sess.run([w,b,loss],{x:x_train,y:y_train})
print(cur_a,cur_b,cur_loss)

四、运用库函数estimator调用实现机器学习

#!usr/bin/evn python3
#-*- coding:utf-8 -*-
#tensorflow可以调用其类,函数,标示
import tensorflow as tf
#numpy可以进行操纵数据和对数据进行预处理
import numpy as np

#the list of feature
feature_columns=[tf.feature_column.numeric_column("x",shape=[1])]
#estimator是一个训练和评估的接口
estimator=tf.estimator.LinearRegressor(feature_columns=feature_columns)

x_train=np.array([1,2,3,4])
y_train=np.array([0,-1,-2,-3])
input_fn=tf.estimator.inputs.numpy_input_fn({"x":x_train},y_train,batch_size=4,num_epochs=None,shuffle=False)
estimator.train(input_fn=input_fn, steps=1000)


#evaluate
x_eval=np.array([2,5,8,1])
y_eval=np.array([-1.01,-4.1,-7,0])
train_input_fn=tf.estimator.inputs.numpy_input_fn({"x":x_train},y_train,batch_size=4,num_epochs=1000,shuffle=False)
eval_input_fn=tf.estimator.inputs.numpy_input_fn({"x":x_eval},y_eval,batch_size=4,num_epochs=1000,shuffle=False)
train_metrics=estimator.evaluate(input_fn=train_input_fn)
eval_metrics=estimator.evaluate(input_fn=eval_input_fn)
print(train_metrics,eval_metrics)

 

五、库函数和编写结合

import numpy as np
import tensorflow as tf

def model_fn(features, labels, mode):
  W = tf.get_variable("W", [1], dtype=tf.float64)
  b = tf.get_variable("b", [1], dtype=tf.float64)
  y = W*features['x'] + b
 
  loss = tf.reduce_sum(tf.square(y - labels))
 
  global_step = tf.train.get_global_step()
  optimizer = tf.train.GradientDescentOptimizer(0.01)
  train = tf.group(optimizer.minimize(loss),tf.assign_add(global_step, 1))
 
  return tf.estimator.EstimatorSpec(
      mode=mode,
      predictions=y,
      loss=loss,
      train_op=train)

estimator = tf.estimator.Estimator(model_fn=model_fn)
# define our data sets
x_train = np.array([1., 2., 3., 4.])
y_train = np.array([0., -1., -2., -3.])
x_eval = np.array([2., 5., 8., 1.])
y_eval = np.array([-1.01, -4.1, -7., 0.])
input_fn = tf.estimator.inputs.numpy_input_fn(
    {"x": x_train}, y_train, batch_size=4, num_epochs=None, shuffle=True)
train_input_fn = tf.estimator.inputs.numpy_input_fn(
    {"x": x_train}, y_train, batch_size=4, num_epochs=1000, shuffle=False)
eval_input_fn = tf.estimator.inputs.numpy_input_fn(
    {"x": x_eval}, y_eval, batch_size=4, num_epochs=1000, shuffle=False)


estimator.train(input_fn=input_fn, steps=1000)

train_metrics = estimator.evaluate(input_fn=train_input_fn)
eval_metrics = estimator.evaluate(input_fn=eval_input_fn)
print("train metrics: %r"% train_metrics)
print("eval metrics: %r"% eval_metrics)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tensorflow是一个开源的机器学习框架,由Google开发。它被广泛应用于深度学习、神经网络和其他机器学习算法的开发和部署。 以下是Tensorflow基础训练的步骤: 1. 安装Tensorflow Tensorflow可以通过pip命令安装。在命令行中输入以下命令即可: pip install tensorflow 2. 创建Tensorflow图 在Tensorflow中,图是指一系列的操作。创建图的第一步是创建一个空白的图,然后向其中添加操作。在Tensorflow中,所有的操作都是节点,它们可以接受输入并产生输出。以下是创建一个简单的图的示例: import tensorflow as tf # 创建一个空白的图 graph = tf.Graph() # 向图中添加节点 with graph.as_default(): a = tf.constant(5) b = tf.constant(2) c = tf.add(a, b) 3. 运行Tensorflow图 在Tensorflow中,我们需要创建一个会话来运行图。会话是Tensorflow中用于执行图的对象。我们可以使用会话执行图中的操作,并获取它们的输出。以下是运行上面创建的图的示例: import tensorflow as tf # 创建一个图 graph = tf.Graph() # 向图中添加节点 with graph.as_default(): a = tf.constant(5) b = tf.constant(2) c = tf.add(a, b) # 创建一个会话 with tf.Session(graph=graph) as session: # 运行图中的操作 result = session.run(c) print(result) 输出结果为: 7 4. 使用Tensorflow变量 在Tensorflow中,变量是指可以在图中持久化存储的值。我们可以使用变量来存储模型的参数。以下是创建和使用Tensorflow变量的示例: import tensorflow as tf # 创建一个变量 x = tf.Variable(0, name='counter') # 创建一个操作 increment_op = tf.assign(x, x+1) # 创建一个会话 with tf.Session() as session: # 初始化变量 session.run(tf.global_variables_initializer()) # 运行操作 print(session.run(increment_op)) print(session.run(increment_op)) print(session.run(increment_op)) 输出结果为: 1 2 3 5. 保存和加载Tensorflow模型 在Tensorflow中,我们可以使用Saver对象将模型保存到磁盘上,并在需要时加载它们。以下是保存和加载Tensorflow模型的示例: import tensorflow as tf # 创建一个变量 x = tf.Variable(0, name='counter') # 创建一个操作 increment_op = tf.assign(x, x+1) # 创建一个Saver对象 saver = tf.train.Saver() # 创建一个会话 with tf.Session() as session: # 初始化变量 session.run(tf.global_variables_initializer()) # 运行操作 print(session.run(increment_op)) print(session.run(increment_op)) print(session.run(increment_op)) # 保存模型 saver.save(session, 'my-model') # 加载模型 with tf.Session() as session: # 加载模型 saver.restore(session, 'my-model') # 运行操作 print(session.run(increment_op)) print(session.run(increment_op)) print(session.run(increment_op)) 输出结果为: 1 2 3 4 5 6 以上就是Tensorflow基础训练的步骤。Tensorflow是一个非常强大的机器学习框架,它提供了丰富的工具和函数库,可以帮助我们开发和部署各种机器学习模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值