tensorflow读书报告
1 # -*- coding: utf-8 -*- 2 """ 3 Created on Mon Apr 11 19:10:39 2022 4 5 @author: 10320 6 """ 7 8 import tensorflow as tf 9 from tensorflow import keras 10 11 import numpy as np 12 import matplotlib.pyplot as plt 13 14 fashion_mnist = keras.datasets.fashion_mnist 15 16 (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() 17 18 19 class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 20 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot'] 21 train_images.shape 22 len(train_labels) 23 train_labels 24 test_images.shape 25 len(test_labels) 26 27 plt.figure() 28 plt.imshow(train_images[0]) 29 plt.colorbar() 30 plt.grid(False) 31 plt.show() 32 train_images = train_images / 255.0 33 34 test_images = test_images / 255.0 35 36 plt.figure(figsize=(10,10)) 37 for i in range(25): 38 plt.subplot(5,5,i+1) 39 plt.xticks([]) 40 plt.yticks([]) 41 plt.grid(False) 42 plt.imshow(train_images[i], cmap=plt.cm.binary) 43 plt.xlabel(class_names[train_labels[i]]) 44 plt.show() 45 46 model = keras.Sequential([ 47 keras.layers.Flatten(input_shape=(28, 28)), 48 keras.layers.Dense(128, activation='relu'), 49 keras.layers.Dense(10) 50 ]) 51 52 model.compile(optimizer='adam', 53 loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), 54 metrics=['accuracy']) 55 56 model.fit(train_images, train_labels, epochs=10)
简答题
(1)Tensorflow和Pytorch
(2)可以直接赋值,也可以使用初始化函数
import tensorflow as tf
bias1=tf.Variable(2)
bias2=tf.Variable(initial_value=3.)
其他更加复杂的初始化方法 如:tf.zeros\tf.zeros_like\tf.ones_like\tf.random.truncated_normal等等
其中tf.random.truncated_normal和tf.zeros是常常用来进行权值和偏置的初始化方法
(3)序贯式和函数式
1 #序贯式1 2 import tensorflow as tf 3 4 model = tf.keras.Sequential() 5 #创建一个全连接层,神经元个数为256,输入为784,激活函数为relu 6 model.add(tf.keras.layers.Dense(256, activation='relu', input_dim=784)) 7 model.add(tf.keras.layers.Dense(128, activation='relu')) 8 model.add(tf.keras.layers.Dense(10, activation='softmax')) 9 10 #序贯式2 11 import tensorflow as tf 12 13 imput_layer = tf.keras.layers.Input(shape=(784,)) 14 hid1_layer = tf.keras.layers.Dense(256, activation='relu') 15 hid2_layer = tf.keras.layers.Dense(128, activation='relu') 16 output_layers = tf.keras.layers.Dense(10, activation='softmax') #将层的列表传给Sequential的构造函数 17 model = tf.keras.Sequential(layers=[imput_layer, hid1_layer, hid2_layer, output_layers]) 18 19 20 21 #函数式 22 import tensorflow as tf 23 #创建一个模型,包含一个输入层和三个全连接层 24 inputs = tf.keras.layers.Input(shape=(4)) 25 x=tf.keras.layers.Dense(32,activation='relu')(inputs) 26 x=tf.keras.layers.Dense(64,activation='relu')(x) 27 outputs=tf.keras.layers.Dense(3,activation='softmax')(x) 28 model=tf.keras.Model(inputs=inputs,outputs =outputs)
import torch data=torch.rand(5,3) print(data)
(5)Keras,Caffe,MXNet,Sonnet,Deeplearning4j