1.1 with的用法
参考链接:https://blog.csdn.net/lxy210781/article/details/81176687
相当于java中的try catch,在打开关闭文件(open)时等,在操作之前和操作之后需要进行一些额外操作的,不然会报错的,使用with
例子:
with open(r'c:\test.txt', 'r') as f:
data = f.read()
with后面返回的对象要求必须有***enter()/exit()***这两个方法,而文件对象 f 刚好是有这两个方法的,故应用自如。
1.2 tf.matmul() 和 tf.multiply() 的区别
tf.matmul() 是矩阵乘法
# 2-D tensor `a`
# [[1, 2, 3],
# [4, 5, 6]]
a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3])
# 2-D tensor `b`
# [[ 7, 8],
# [ 9, 10],
# [11, 12]]
b = tf.constant([7, 8, 9, 10, 11, 12], shape=[3, 2])
# `a` * `b`
# [[ 58, 64],
# [139, 154]]
c = tf.matmul(a, b)
tf.multiply() 是元素乘法,对应位置的元素一一相乘,也叫点积
a = tf.constant(range(6), shape=(2, 3))
# [[0 1 2],
# [3 4 5]]
b = tf.fill((2, 3), 5)
# [[5 5 5],
# [5 5 5]]
c = tf.multiply(a, b)
# [[ 0 5 10],
# [15 20 25]]
# multiply()也相当于 a * b
d = a * b
# [[ 0 5 10],
# [15 20 25]]
1.3 tensorflow常用包
tensorflow.data
模块提供了有关数据处理的工具tensorflow.keras.layers
模块定义了大量神经网络的层tensorflow.initializers
模块定义了各种初始化方法tensorflow.optimizers
模块提供了模型的各种优化算法
1.4 tensorflow读取数据的方法
tensorflow常用的读取数据的代码为:
dataset = tf.data.Dataset.from_tensor_slices((features, labels)) # 将feature和label读入dataset中
dataset = dataset.shuffle(buffer_size=num_examples) # 乱序
dataset = dataset.batch(batch_size=batch_size) # 每batch_size个为一组
data_iter = iter(dataset)