操作题部分:(把代码及结果截图到题目下方,截图要嵌入学号姓名)
注:题目中有“你的学号”,“你的姓名”的,要用你自已的信息去替换
4、在同一坐标内画出正、余弦函数的图像。(15分)
5、导入“成绩表”,求出每个同学的“总分”,“平均分”,
并依据平均分给出等级:平均分大于等于80分的为“优秀”,在[70,80)之间为“良好”,70分以下为“一般”,共20分。
注:成绩表另发,并插入你自已的一条记录,主要代码复制,结果截图并嵌入学号+姓名
如果图示例:
import pandas as pd#导入pandas库
names=['政治','skewness','curtosis','entropy','class']
fm=pd.read_excel(r"C:\Users\阿师\Desktop\人工智能基础期末试卷---物联网工程\成绩表.xls",sheet_name="Sheet1")#用该方法读取表格和表单里的单元格的数据
fm.head()
6、TensorFlow2.x语法题:(代码复制,结果截图并嵌入学号姓名)共15分
已知矩阵A、B,用TensorFlow2求出两矩阵的和、差与乘积:
tf.executing_eagerly()
A=tf.constant([[1,2],[3,4]])
B=tf.constant([[5,6],[7,8]])#转成深度学习框架的数组
D=tf.add(A,B)
E= tf.subtract(A,B)
C=tf.matmul(A,B)#矩阵相乘
print(D)
print(E)
7、机器学习预测题:(代码复制,结果截图并嵌入学号+姓名),共15分。
假如:
输入数据: 0,2,4,7,16,22
相对应输出: 4,5,6,7.6,12,15.2
问题:如果输入40,则输出值大约是多少
import numpy as np
X = np.array([0,2,4,7,16,22],dtype = float)
y = np.array([4,5,6,7.6,12,15.2],dtype = float)
#设置训练数据 x:输入 y:输出
import tensorflow as tf
layer = tf.keras.layers.Dense(units = 1,input_shape = [1]) #units 神经元1个,输入形状1维
model = tf.keras.Sequential([layer])
#创建一个密集层——Dense()
#将层整合到模型中——Sequential()
#units:神经元个数
#input_shape:该层的输入
#loss损失函数,这边用均方误差=mean_squared_error
#optimizer优化器,这里用adam, 0. 1表示学习率
model.compile(loss = 'mean_squared_error',
optimizer = tf.keras.optimizers.Adam(0.1)
#Adam(0.1)表示学习率0.1(一般取0.001-0.1)
#Adam优化算法。适应型矩估计
)
history = model.fit(X,y, epochs = 50, verbose = 1)
#训练模型。epochs:训练周期——样本进行一次完成的迭代
print(model.predict([40]))
8、自行画出0,1,4的图片,网上查找CNN手写数字识别程序,并识别给出的图片数字(20分)
代码复制,结果截图
from PIL import Image
import numpy as np
import tensorflow as tf
model_save_path = 'D:/checkpoint/mnist.ckpt'
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')])
model.load_weights(model_save_path)
preNum = int(input("input the number of test pictures:"))
for i in range(preNum):
image_path = input("the path of test picture:")
img = Image.open(image_path)
img = img.resize((28, 28), Image.ANTIALIAS)
img_arr = np.array(img.convert('L'))
for i in range(28):
for j in range(28):
if img_arr[i][j] < 200:
img_arr[i][j] = 255
else:
img_arr[i][j] = 0
img_arr = img_arr / 255.0
print("img_arr:",img_arr.shape)
x_predict = img_arr[tf.newaxis, ...]
print("x_predict:",x_predict.shape)
result = model.predict(x_predict)
pred = tf.argmax(result, axis=1)
print('\n')
tf.print(pred)