tensorflow学习加python复习第一课

tensorflow学习加python复习第一课

对于快速学习tensorflow和python送上三个网址tensorflow中文官方手册python官方模块索引网址python教程

第一个代码

下面是tensorflow中文官方手册中的第一个代码

import tensorflow as tf
import numpy as np

# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(2, 100)) # 随机输入
y_data = np.dot([0.100, 0.200], x_data) + 0.300

# 构造一个线性模型
# 
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b

# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

# 初始化变量
init = tf.initialize_all_variables()

# 启动图 (graph)
sess = tf.Session()
sess.run(init)

# 拟合平面
for step in xrange(0, 201):
    sess.run(train)
    if step % 20 == 0:
        print step, sess.run(W), sess.run(b)

# 得到最佳拟合结果 W: [[0.100  0.200]], b: [0.300]

所用环境是python3.5、pycharm2017

运行发生以下错误1

print问题

  • SyntaxError(语法错误):invalid syntax(无效语法)
    显示print用错;
Python 3.5.4 |Continuum Analytics, Inc.| (default, Aug 14 2017, 13:41:13) [MSC v.1900 64 bit (AMD64)] on win32
>>>print"welcom"
  File "<input>", line 1
    print"welcom"
                ^
SyntaxError: invalid syntax
>>>print("welcom")
welcom
>>> a="welcom"
>>> print a
  File "<input>", line 1
    print a
          ^
SyntaxError: Missing parentheses in call to 'print'
>>> print (a)
welcom

这是python2.7到python3之后改变的地方,到python3后print需要加括号();
修改后仍发生以下错误

运行发生以下错误2

在这里插入图片描述

  • NameError:name ‘xrange’ is not defined(名字错误:名字‘xrange’没有被定义)

3.5官方文档对于xrange的解释:如下
把xrange重新命名为range,并用list调用显示包装好的range()

官方文档3.5对于xrange的解释
range用法
在这里插入图片描述

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
>>> list(range(0, 10, 3))
[0, 3, 6, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(0))
[]
>>> list(range(1, 0))
[]

代码段直接把xrange改成range

运行成功

结果

0 [[ 0.07647699 -0.02320087]] [ 1.01223731]
20 [[-0.01048383  0.06358624]] [ 0.4329907]
40 [[ 0.05370879  0.1511424 ]] [ 0.35125813]
60 [[ 0.0816043   0.18170312]] [ 0.31976804]
80 [[ 0.09282445  0.19302201]] [ 0.30762535]
100 [[ 0.09722023  0.19731979]] [ 0.30294165]
120 [[ 0.0989259   0.19896774]] [ 0.30113485]
140 [[ 0.09958538  0.19960204]] [ 0.30043781]
160 [[ 0.09983999  0.19984649]] [ 0.3001689]
180 [[ 0.09993825  0.19994079]] [ 0.30006516]
200 [[ 0.09997619  0.19997716]] [ 0.30002514]

内部各函数说明

待下次完成!!!!!!!!
https://blog.csdn.net/cxmscb/article/details/54583415
https://docs.scipy.org/doc/numpy/user/quickstart.html
https://docs.scipy.org/doc/numpy/reference/index.html#reference

扩展

range扩展

在这里插入图片描述

>>> r = range(0, 20, 2)
>>> r
range(0, 20, 2)
>>> 11 in r
False
>>> 10 in r
True
>>> r.index(10)
5
>>> r[5]
10
>>> r[:5]
range(0, 10, 2)
>>> r[-1]
18

序列的各种运用
部分如下:
在这里插入图片描述

python2代码到python3代码转换扩展

2to3
在这里插入图片描述

使用

$ C:\Users\Administrator\PycharmProjects\testtensorflow>2to3 -w test.py
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: Refactored test.py
--- test.py     (original)
+++ test.py     (refactored)
@@ -24,9 +24,9 @@
 sess.run(init)

 # 拟合平面
-for step in xrange(0, 201):
+for step in range(0, 201):
     sess.run(train)
     if step % 20 == 0:
-        print step, sess.run(W), sess.run(b)
+        print(step, sess.run(W), sess.run(b))

 # 得到最佳拟合结果 W: [[0.100  0.200]], b: [0.300]
RefactoringTool: Files that were modified:
RefactoringTool: test.py

效果
在这里插入图片描述
test.py为自动转换后的python3文档
test.py.bak为原python2文档保存

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值