练习一
1下列______方法不适用于大规模数据集。
A.随机梯度下降
B.小批量梯度下降
C.批量梯度下降
D.小批量随机梯度下降
正确答案:C
2下列关于小批量随机梯度下降算法,说法错误的是______。
A.每次迭代使用一个小批量样本训练模型
B.每次迭代所使用的训练样本数不固定,与整个训练集的样本数量有关
C.训练大规模数据时,可以减少训练时间
D.能够实现并行运算
正确答案:B
3假设有3000条样本,使用小批量梯度下降法分10批进行训练,下列说法错误的是______。
A.每轮训练10个小批量
B.每个批的批量大小为300
C.每轮训练的样本总数为3000条
D.一共需要训练10轮
正确答案:D
梯度下降法的优化
练习二
1关于梯度下降法中学习率的说法,错误的是______。
A.学习率设置过小,收敛速度会非常慢
B.学习率设置过大可能无法收敛
C.学习率在训练过程中必须是一个固定不变的数
D.为了兼顾模型的收敛速度和精度,在训练过程中可以动态调整学习率
正确答案:C
2下列______算法中,学习率随着迭代次数的增加而单调减小。
A.AdaGrad
B.RMSprop
C.AdaDelta
D.Adam
正确答案:A
3多层神经网络使用梯度下降法,能够保证一定可以达到全局最小值点。
A.对
B.错
正确答案:B
4小批量样本的选择、批量大小和学习率都会影响小批量梯度下降法的效率。
A.对
B.错
正确答案:A
5使用小批量随机梯度下降算法训练网络时,为了尽可能减少样本对训练的影响,在每轮训练前最好打乱样本顺序,使样本均匀分布。
A.对
B.错
正确答案:A
6使用批量梯度下降法时,无需打乱样本数据。
A.对
B.错
正确答案:A
7训练神经网络时,小批量中的样本数应该尽可能少,才能使模型效率更高、更稳定,同时具有较好的泛化能力。
A.对
B.错
正确答案:B
8在自适应调整学习率算法中,学习率必须是单调递减的。
A.对
B.错
正确答案:B
9动量梯度下降法通过当前梯度和历史梯度共同决定参数的更新,在更新参数时其不能保留之前的更新方向。
A.对
B.错
正确答案:B
10牛顿加速梯度算法通过计算超前梯度,使算法具备了“预见”能力。
A.对
B.错
正确答案:A
11使用越先进的梯度下降法优化算法,神经网络训练结果一定越好。
A.对
B.错
正确答案:B
练习三
1下列关于Keras的描述,错误的______。
A.Keras能够离开TensorFlow等后端引擎,独立工作
B.Keras支持神经网络和深度学习领域的主流算法
C.Keras支持多操作系统下的多GPU并行计算
D.Keras可作为TensorFlow等深度学习库的前端
正确答案:A
Sequential模型
练习四
1下列说法错误的是______。
A.Sequential是Keras中的一种神经网络模型
B.Sequential模型只有一组输入和一组输出
C.Sequential模型各层按照先后顺序堆叠
D.Sequential模型中,只能够添加全连接层
正确答案:D
2定义一个神经网络,假设输入层有4个神经元,第一个隐含层中有10个神经元,则输入层和第一个隐含层之间可训练参数的总数是______。
A.10
B.40
C.44
D.50
正确答案:D
3关于tf.keras.layers.Dense()的参数,下列说法中正确的是______。
A.inputs:输入网络层的数据
B.activation:数据的维数
C.input_shape:所使用的激活函数
D.Dense:表示使用的是卷积层
正确答案:A
4对下列方法功能的描述,错误的是______。
A.summary():查看模型的层数、参数个数等摘要信息
B.compile():用来训练神经网络模型
C.evaluate():用来评估模型性能
D.predict():使用模型完成预测或分类等任务
正确答案:B
5关于model.compile()方法,下列说法中错误的是______。
A.compile()方法是配置模型训练方法
B.参数loss表示损失函数
C.参数optimizer是模型训练使用的激活函数
D.参数metrics表示模型训练时输出的评测指标
正确答案:C
6使用神经网络实现鸢尾花分类任务,输出层采用softmax激活函数,若标签值采用自然顺序码的形式表示时,通常采用____ 损失函数。
A.mse
B.categorical_crossentropy
C.binary_crossentropy
D.sparse_categorical_crossentropy
正确答案:D
7下列关于fit()方法中参数的使用,错误的说法是______。
A.参数epochs表示迭代次数
B.参数validation_split表示从训练集中划分多少比例作为测试数据
C.参数validation_data和validation_split不能同时有效
D.如果参数shuffle设置为Ture,那么在训练之前,完全无需打乱数据了
正确答案:D
8使用神经网络实现鸢尾花分类任务,若标签值和预测值都采用独热编码形式表示时,通常调用______模型性能评估函数。
A.tf.keras.metrics.binary_accuracy(threshold=0.5)
B.tf.keras.losses.CategoricalAccuracy()
C.tf.keras.metrics.categorical_accuracy()
D.tf.keras.metrics.SparseCategoricalAccuracy()
正确答案:C
9fit()函数的返回值是一个history对象,该对象的history属性中记录了整个训练过程中性能指标的变化情况。
A.对
B.错
正确答案:A
Sequential模型实现手写数字识别
练习五
1.本节例程中使用Sequential模型编程实现mnist手写数字识别的步骤是____。
①加载mnist数据
②导入相关库
③数据预处理
④构建神经网络模型
⑤训练模型
⑥配置模型的训练方法
⑦评估模型
A.②①③④⑤⑥⑦
B.②①③④⑥⑤⑦
C.①③②④⑤⑥⑦
D.①②③④⑤⑥⑦
正确答案:B
2使用以下程序段建立神经网络,错误的描述是____。
import tensorflow as tf
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
model.add(tf.keras.layers.Dense(128, activation="relu"))
model.add(tf.keras.layers.Dense(10, activation="sotfmax"))
A.这是一个全连接神经网络
B.这个神经网络有2个隐含层
C.这个神经网络有2层
D.这个神经网络有1个隐含层
正确答案:B
3采用2层全连接神经网络实现手写数字识别任务,当标签值为0-9的数字、预测值为概率分布时,最好使用____损失函数计算损失。
A.mse
B.binary_crossentropy
C.sparse_binary_crossentropy
D.sparse_categorical_crossentropy
正确答案:D
4使用下面语句训练Mnist手写数字识别网络,其中说法正确的是____。
model.fit(x_train, y_train, batchsize=128, epochs=10, validation_split=0.2)
A.共有60000条数据参与模型训练
B.共有48000条数据参与模型测试
C.共训练10轮
D.每轮仅训练128条数据
正确答案:C
5使用下列代码建立神经网络模型,说法错误的是______。
import tensorflow as tf
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten( input_shape=(12, )))
model.add(tf.keras.layers.Dense(4, activation="relu"))
model.add(tf.keras.layers.Dense(3, activation="softmax"))
model.summary()
A.该模型含有2个隐含层
B.该模型输入层和第一隐含层之间有52个可训练参数
C.该模型隐含层共有4个节点
D.该模型的输入层共有12个节点
正确答案:A
6使用下列代码建立神经网络模型,说法错误的是______。
import tensorflow as tf
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(8, activation="relu", input_shape=(4, )))
model.add(tf.keras.layers.Dense(4, activation="relu"))
model.add(tf.keras.layers.Dense(3, activation="softmax"))
model.summary()
A.这个神经网络中有3层计算层
B.这个神经网络中有计算功能的神经元有19个
C.该模型的可训练参数个数共有91个
D.这个神经网络的隐含层采用ReLu激活函数
正确答案:B
实现模型参数的保存和加载
练习六
1创建模型model,关于model.save_weights(filepath, overwrite, save_format)方法,下列说法中错误的是______。
A.save_weights()方法的功能是保存模型参数
B.参数filepath指定保存参数文件的路径
C.参数overwrite=True表示当指定的文件已经写入时,会覆盖原有数据
D.参数save_format="tf"时,参数文件被保存为HDF5格式
正确答案:D
2创建模型model,使用model.save()方法,可以保存神经网络的______信息。
①结构
②模型参数
③优化器,损失函数
④优化器状态
A.②
B.①②④
C.①②③
D.①②③④
正确答案:D
3创建模型model,下列关于模型保存和加载的方法,描述正确的是______。
A.使用model.save()方法只能够保存模型的参数信息
B.使用model.save_weights()方法可以保存模型的结构
C.使用tf.keras.models.load_model()方法可加载整个模型的信息
D.使用model.load_weights()方法加载模型参数后,仍需重新训练模型
正确答案:C
4创建模型model,使用如下语句保存模型信息,下列说法中错误的是______。
model.save_weights("..\my_model.keras", overwrite=Flase, save_format=None)
A.当文件已保存,会提示是否重写该文件
B.该方法仅保存了网络模型的参数信息
C.模型文件为SavedModel格式
D.模型文件与程序保存在同一目录下
正确答案:C
5创建模型model,设置参数include_optimizer可以实现断点续训。
A.对
B.错
正确答案:A