tensorflow学习笔记
Tensorflow是一个基于计算图的深度学习库,可以用它多快好省的完成现代绝大部分深度学习的任务。
实现下面的代码,核心过程如下:
import tensorflow as tf a=tf.constant(32) #创建常量 b=tf.constant(10) #创建常量 c=tf.add(a,b) print(a) print(b) print(c)
tensorflow只是将上面定义的tensor作为节点保存,没有具体的值。要保存值需要用到session
import tensorflow as tf sess=tf.Session() print(sess.run(a)) print(sess.run([a,b])) print(sess.run([a,b,c]))
py_a=sess.run(a) print(type(py_a)) py_r=sess.run([a,b,c]) print(type(py_r)) print(py_r[0],py_r[1],py_r[2])
******************************************
初学者快速入门:
import tensorflow as tf #载入并准备好MNIST数据集,将样本从整数转换为浮点数 mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 #将模型的各层堆叠起来,以搭建tf.keras.Sequential模型。为训练选择优化器和损失函数 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) #训练并检验模型 model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test, verbose=2)
张量生成:
tensorflow中的tensor就是张量,是多维数组(多维列表),用阶来表示张量的维数,判断张量是几阶的可以看有几个方括号
TensorFlow的数据类型:tf.int, tf.float, tf.bool(tf.constant([True,Flase])), tf.string(tf.constant("Hlle world!"))……
图和创建一个张量tensor
import tensorflow as tf a=tf.constant([1,5],dtype=tf.int64) #直接打印a,会输出a的所有信息 print(a) #打印a的数据类型 print(a.dtype) #打印a的形状 print(a.shape)
很多时候数据是用numpy给出的,可以通tf.convert_to_tensor(数据名,dtype=数据类型(可选))将其转化为tensor数据类型
import tensorflow as tf import numpy as np a=np.arange(0,5) b=tf.convert_to_tensor(a,dtype=tf.int64) print(a) print(b)
其他张量创建方法
a=tf.zeros([2,3]) b=tf.ones(4) c=tf.fill([2,2],9) print(a) print(b) print(c)