我是靠谱客的博主 孤独方盒,最近开发中收集的这篇文章主要介绍使用Tensorflow构建网络的方法使用Tensorflow构建网络的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用Tensorflow构建网络的方法

首先

import numpy as np
import tensorflow as tf
from tensorflow.keras import layers

专注于输入输出的方式

input_shape = (height,width,3)#只需要给一个样本(一张图)的大小
input_data = tf.keras.Input(shape=input_shape)#构建结构输入
conv_1 = layers.Conv2D(filters=16,kernel_size=7,strides=2)(input_data)
conv_2 = layers.Conv2D(...)(conv_1)
...
...
dense_1 = layers.Flatten()(conv_n)
output_data = layers.Dense(2,activation='softmax')(dense_1)
model = tf.keras.Model(input_data,out_data)#根据输入输出,整合整个网络
model.summary()#打印网络结构

这种方法的有点在于:可以对网络层与层之间传输的数据(张量形式)做自定义变化,上面的conv_1等都是不同层之间的数据。

专注于神经网络层的拼接

model = tf.keras.models.Sequential()
model.add(layers.Conv2D(filters=16,kernel_size=7,strides=2))
model.add(...)
model.summary()#打印网络结构
#或者直接:
model = tf.keras.models.Sequential([layers.Conv2D(filters=16,kernel_size=7,strides=2),...])
model.summary()#打印网络结构

简单地进行神经网络训练例子

batch_size=16
epochs=200
model.compile(loss='categorical_crossentropy', optimizer='adam',metrics=['accuracy'])#使用交叉熵损失函数、adam优化器,评价标准为准确度
history = model.fit(inputData,outputData,#自己的输入输出数据集
          batch_size=batch_size,#一批更新的样本数
          epochs=epochs,#迭代次数
          verbose=2,#打印每一代训练后的简单信息
          validation_split = 0.05, #从数据集中分出5%的样本作为验证集
          validation_freq = 2,#迭代两次训练一次
          shuffle=True)#打乱数据集(我感觉没打乱)
model.save('.model_1.h5')#保存模型
model = tf.keras.models.load_model('.model_1.h5')#加载模型
model.evaluate(mouseDataTest,mouseOutDataTest)#对模型进行数据测试

最后

以上就是孤独方盒为你收集整理的使用Tensorflow构建网络的方法使用Tensorflow构建网络的方法的全部内容,希望文章能够帮你解决使用Tensorflow构建网络的方法使用Tensorflow构建网络的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部