ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

人工智能第五章学习报告

2022-04-25 00:00:06  阅读:223  来源: 互联网

标签:layers 初始化 keras 人工智能 学习 tf 第五章 print import


【案例5.1】导入TensorFlow,测试版本,并创建打印一个tf常量,获取常量的值
import tensorflow as tf print(tf.__version__) a=tf.constant(2.0) print(a)

运行结果:

 

 

 

【案例5.2】在Tensorflow2.x的环境中使用1.x版本的代码

import tensorflow.compat.v1 as tf

tf.disable_v2_behavior()
a=tf.constant(2.0)
with tf.Session() as sess:
    print(sess.run(a))
    print(a)

运行结果:

 

【案例5.3】TensorFlow常量的使用
import tensorflow as tf #声明一个标题常量 t_1=tf.constant(2) t_2=tf.constant(2) #常量相加 t_add=tf.add(t_1,t_2) #一个形如一行三列的常量向量可以用如下代码声明 t_3=tf.constant([4,3,2]) #定义一个形状为[M,N]的全0张量和全1张量 zero=tf.zeros(shape=[3,3]) ones=tf.ones(shape=[3,3]) print(t_add)
【案例5.4】TensorFlow变量的使用
#直接赋值初始化 import tensorflow as tf #直接给变量赋值初始化 bias1=tf.Variable(2) #通过initial_value显示赋值初始化 bias2=tf.Variable(initial_value=3.) bias1,bias2

#使用初始化函数初始化
import tensorflow as tf
a=tf.Variable(tf.zeros([2,1]))  #将形状为[2,1]张量初始化为0
b=tf.Variable(tf.zeros_like(a)) #返回一个和给定tensor同样shape的tensor,其中的元素全部置0
c=tf.Variable(tf.ones([2,1]))   #初始化为1
d=tf.Variable(tf.ones_like(a))  #将与a一个形状的张量初始化为1
e=tf.fill([2,3],4)              #将指定形状的张量初始化为指定数值
print(a,b,c,d,e)
【案例5.5】TensorFlow数组转张量
import tensorflow.compat.v1 as tf tf.disable_v2_behavior() tensor = tf.constant([[1.0,2.0],[3.0,4.0]]) print("Tensor = ",tensor) array = tensor.eval(session=tf.Session()) print(array)

运行结果:

 

 

【案例5.6】Tensor的基础运算操作
加、减、乘、除之类的运算
import tensorflow as tf
print(tf.add(1,2))                                       #0维向量相加
print(tf.add([1,2],[3,4]))                               #一维向量相加
print(tf.matmul([[1,2,3]],[[4],[5],[6]]))                #矩阵相乘
print(tf.square(5))                                      #计算5的平方
print(tf.pow(2,3))                                       #计算2的3次方
print(tf.square(2)+tf.square(3))                         #也支持操作符重载
print(tf.reduce_sum([1,2,3]))                            #计算数值的和
print(tf.reduce_mean([1,2,3]))                           #计算均值
运行结果:

 

 

【案例5.7】模型搭建时常用的Tensor操作
import tensorflow as tf print(tf.argmax([1,0,0,8,6])) #返回数组内最大的索引,常用于处理one_hot向量 a=tf.constant([[1,2],[3,4],[5,6]]) b=tf.expand_dims(a,0) #在tensor中增加一个维度,0表示需要添加维度的下标为0 c=tf.expand_dims(a,1) #在tensor中增加一个维度,1表示需要添加的维度下标为1 print(a.shape,b.shape,c.shape) x=[[1,2,3],[4,5,6],[7,8,9]] y=[[2,3,4],[5,6,7],[8,9,10]] z1=tf.concat([x,y],axis=0) #按照维度0进行拼接 z2=tf.concat([x,y],axis=1) print(z1) print(z2) a=tf.Variable([[[1,2,3],[1,2,3]],[[7,8,9],[10,11,12]]]) b=tf.reshape(a,[6,2]) print(a.numpy(),'\n',b.numpy())

运行结果:

 

 

 

 

 

5.4 习题 简答题

(1)目前使用最广泛的两种深度学习框架是什么?

目前最主流的深度框架有 TensorFlow、Pytorch 以及 Keras。

其中:

1)TensorFlow 是被使用最广泛的一个深度学习框架,已广泛的运用在如,图像识别、图片分类等领域;

2)Pytorch 是一个开源的 Python 机器学习库,基于 Torch 开发,底层由 C++实现,也被广泛使用在人工智能领域;

3)Keras 则是 Python 编写的高级神经网络 API,它可以将 TensorFlow、CNTK,或是 Theano 作为后端程序来用,它的代码简单、易读。

 

(2)在TensorFlow2.x中,初始化权值和偏置常用的方法分别是什么?

在TensorFlow中,模型的权值和偏置常常被定义为变量。变量在创建的时候,需要设定其初始化方法:可以直接赋值,也可以使用初始化函数。直接赋值初始化变量。

1)正态分布初始化,tf.zeros、tf.zeros_like、tf.ones、tf.ones_like、tf.fill、tf.random.normal

2)截断正态分布初始化,tf.random.truncated_normal

3)随机均匀分布,tf.random.uniform

其中,tf.random.normal和tf.zeros是常常被用来进行权值和偏置的初始化方法。

 

(3)序贯式和函数式

1)序贯式1
import tensorflow as tf

model = tf.keras.Sequential()
#创建一个全连接层,神经元个数为256,输入为784,激活函数为relu
model.add(tf.keras.layers.Dense(256, activation='relu', input_dim=784))
model.add(tf.keras.layers.Dense(128, activation='relu'))
model.add(tf.keras.layers.Dense(10, activation='softmax'))

2)序贯式2

import tensorflow as tf

imput_layer = tf.keras.layers.Input(shape=(784,))
hid1_layer = tf.keras.layers.Dense(256, activation='relu')
hid2_layer = tf.keras.layers.Dense(128, activation='relu')
output_layers = tf.keras.layers.Dense(10, activation='softmax') #将层的列表传给Sequential的构造函数
model = tf.keras.Sequential(layers=[imput_layer, hid1_layer, hid2_layer, output_layers])

3)import tensorflow as tf
#创建一个模型,包含一个输入层和三个全连接层

inputs = tf.keras.layers.Input(shape=(4))
x=tf.keras.layers.Dense(32,activation='relu')(inputs)
x=tf.keras.layers.Dense(64,activation='relu')(x)
outputs=tf.keras.layers.Dense(3,activation='softmax')(x)
model=tf.keras.Model(inputs=inputs,outputs =outputs)

 

(4)使用pytorch构建一个5*3大小的随机初始化的矩阵

import torch
data = torch.rand(5,3)
print(data)
运行结果:


(5)请列举一些其他的深度学习框架

答:TensorFlow 、Caffe、Theano、Keras、PyTorch、MXNet。

 

标签:layers,初始化,keras,人工智能,学习,tf,第五章,print,import
来源: https://www.cnblogs.com/Karry0921/p/16188385.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有