目录

  • 第1关:Hello,Tensorflow
  • 第2关:计算图与会话
  • 第3关:Tensorflow实现线性回归

第1关:Hello,Tensorflow

本关任务:编写使用python一个Tensorlfow的Hello,World程序。

import tensorflow as tf
c = tf.constant('Hello World')
sess = tf.Session()
print(sess.run(c))
sess.close()

第2关:计算图与会话

本关任务:使用Tensorflow实现矩阵乘法。

# -*- coding: utf-8 -*-
import tensorflow as tfdef matmul(a,b):'''a(list):矩阵ab(list):矩阵bresult(ndarray):矩阵相乘结果'''#********* Begin *********#a = tf.constant(a)b = tf.constant(b)c = tf.matmul(a,b)with tf.Session() as sess:result=sess.run(c)#********* End *********#return result

第3关:Tensorflow实现线性回归

本关任务:使用Tensorflow实现线性回归方法,并对股票数进行预测。

# -*- coding: utf-8 -*-
import math
import numpy as np
import pandas as pd
from sklearn.preprocessing import scale
import tensorflow as tf
def preprocess_data(df):'''df(DataFrame):原始数据X(ndarray):处理后数据特征y(ndarray):处理后数据标签'''#*********Bengin*********## 定义预测列变量,它存放研究对象的标签名forecast_col = 'Adj. Close' # 定义预测天数,这里设置为所有数据量长度的1%forecast_out = int(math.ceil(0.1*len(df)))# 只用到df中下面的几个字段['Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close', 'Adj. Volume']df = df[['Adj. Open', 'Adj. High', 'Adj. Low', 'Adj. Close', 'Adj. Volume']]    # 构造两个新的列# HL_PCT为股票最高价与最低价的变化百分比df['HL_PCT'] = (df['Adj. High'] - df['Adj. Close']) / df['Adj. Close'] * 100.0# HL_PCT为股票收盘价与开盘价的变化百分比df['PCT_change'] = (df['Adj. Close'] - df['Adj. Open']) / df['Adj. Open'] * 100.0# 下面为真正用到的特征字段['Adj. Close', 'HL_PCT', 'PCT_change', 'Adj. Volume']df = df[['Adj. Close', 'HL_PCT', 'PCT_change', 'Adj. Volume']]# 因为scikit-learn并不会处理空数据,需要把为空的数据都设置为一个比较难出现的值,这里取-9999,df.fillna(-99999, inplace=True)# 用label代表该字段,是预测结果df['label'] = df[forecast_col].shift(-forecast_out)#构造XX = np.array(df.drop(['label'], 1))   X = scale(X)X = X[:-forecast_out]# 抛弃label列中为空的那些行df.dropna(inplace=True)y = np.array(df['label'])#将标签reshape成(-1,1)y = y.reshape(-1,1)#*********End*********#return X,y
def tf_predict(sess,train_data,train_label,test_data,lr,n_iters):'''sess:tf.Session创建的会话train_data(ndarray):训练数据train_label(ndarray):训练标签test_data(ndarray):测试数据lr(float):学习率n_iters(int):训练轮数test_predict(ndarray):测试集预测标签'''#*********Bengin*********#data = tf.placeholder(tf.float32, [None, 4])real_label = tf.placeholder(tf.float32, [None, 1])weight = tf.Variable(tf.random_normal([4, 1]), dtype=tf.float32)bias = tf.Variable(tf.ones([1]), dtype=tf.float32)y_label = tf.add(tf.matmul(data, weight), bias)loss = tf.reduce_mean(tf.square(real_label - y_label))train = tf.train.AdamOptimizer(lr).minimize(loss)sess.run(tf.global_variables_initializer())for i in range(n_iters):sess.run(train,feed_dict={data: train_data, real_label: train_label})    test_predict = sess.run(y_label,feed_dict={data: test_data})sess.close()#*********End*********#return test_predict

Tensorflow入门--图与会话相关推荐

  1. Tensorflow |(4)名称域、图 和会话

    Tensorflow |(1)初识Tensorflow Tensorflow |(2)张量的阶和数据类型及张量操作 Tensorflow |(3)变量的的创建.初始化.保存和加载 Tensorflow ...

  2. tensorflow入门教程和底层机制简单解说——本质就是图计算,自动寻找依赖,想想spark机制就明白了...

    简介 本章的目的是让你了解和运行 TensorFlow! 在开始之前, 让我们先看一段使用 Python API 撰写的 TensorFlow 示例代码, 让你对将要学习的内容有初步的印象. 这段很短 ...

  3. 1.1 Tensorflow笔记(基础篇): 图与会话,变量

    图与会话 import tensorflow as tf import os# 取消打印 cpu,gpu选择等的各种警告 # 设置TF_CPP_MIN_LOG_LEVEL 的等级,1.1.0以后设置2 ...

  4. tensorflow怎样调用gpu_tensorflow基本用法(图,会话,tensor,变量等)

    使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使用 ten ...

  5. python人工智能——深度学习——TensorFlow——图和会话

    图 图默认已经注册,一组表示 tf.Operation计算单位的对象和tf.Tensor表示操作之间流动的数据单元的对象. 获取调用: tf.get_default_graph() op.sess或者 ...

  6. Tensorflow笔记(基础): 图与会话,变量

    图与会话 import tensorflow as tf import os# 取消打印 cpu,gpu选择等的各种警告 # 设置TF_CPP_MIN_LOG_LEVEL 的等级,1.1.0以后设置2 ...

  7. tensorflow 入门

    基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使 ...

  8. TensorFlow入门:第一个机器学习Demo

    TensorFlow入门:第一个机器学习Demo 2017年12月13日 20:10:23 阅读数:8604 本文主要通过一个简单的 Demo 介绍 TensorFlow 初级 API 的使用方法,因 ...

  9. tensorflow入门_TensorFlow法律和统计入门

    tensorflow入门 by Daniel Deutsch 由Daniel Deutsch TensorFlow法律和统计入门 (Get started with TensorFlow on law ...

最新文章

  1. 【中台】“中台”概念究竟是什么?制造业企业需要拥抱吗?
  2. 砥砺前行,比特币现金周年国际峰会正式召开
  3. 南昌大学c程序计算机作业,南昌大学计算机作业第二章答案
  4. 恢复Ext3下被删除的文件(转)
  5. 前端学习(3195):虚拟dom的创建方式1的js
  6. Table被web编程弃用的原因
  7. jQuery进行DOM操作记录
  8. linux导报命令,LINUX下安装与卸载DM8
  9. 自动查询成绩的小玩意
  10. 问题来了:哪个AI公司会签下张学友当代言人?
  11. 如何保障“双11”期间亿万买家和卖家愉快地聊天
  12. cisco路由器如何查看内网流量情况
  13. 主编编辑器如何绑定公众号?
  14. 对于人生道路的些许感慨
  15. spring拦截器传递传递参数到controller+Aop切面环绕方法传递参数到目标方法
  16. Duplicate class com.amap.api.fence.DistrictItem found in modules jetified-3dmap-9.3.1.jar (com.amap.
  17. SVG实现超酷素描动画
  18. python打印100以内的素数_如何用python打印100以内的质数?
  19. 阿根廷将大幅增加谷物产量
  20. css 霓虹灯转动效果,CSS3霓虹灯文字动画特效

热门文章

  1. .NET Core 3 WPF MVVM框架 Prism系列之事件聚合器
  2. 【Nginx那些事】nginx配置实例(一)反向代理
  3. 【C语言】用指针描述数组,实现选择法排序
  4. 关于Dev-C++的安装以及基本使用方法
  5. C#LeetCode刷题之#101-对称二叉树(Symmetric Tree)
  6. 【ios】在真实设备上运行
  7. react转跳_您跳过的这些React基础知识可能会杀死您
  8. 什么是端到端训练测试_为什么端到端测试对您的团队很重要
  9. Java 环形缓冲器(Ring Buffer)
  10. python爬取知乎live_Python爬虫从入门到放弃(十九)之 Scrapy爬取所有知乎用户信息(下)...