当前位置: 首页 > news >正文

怎么自己网站建设国外推广网站

怎么自己网站建设,国外推广网站,html5网站开发公司,个人网站主页怎么做🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 具体实现 (一)环境 语言环境:Python 3.10 编 译 器: PyCharm 框 架: (二)具体步骤 1. 使…
  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊

目标

具体实现

(一)环境

语言环境:Python 3.10
编 译 器: PyCharm
框 架:

(二)具体步骤
1. 使用GPU
--------------------------utils.py-------------------
import tensorflow as tf  
import PIL  
import matplotlib.pyplot as plt  def GPU_ON():  # 查询tensorflow版本  print("Tensorflow Version:", tf.__version__)  # 设置使用GPU  gpus = tf.config.list_physical_devices("GPU")  print(gpus)  if gpus:  gpu0 = gpus[0]  # 如果有多个GPU,仅使用第0个GPU  tf.config.experimental.set_memory_growth(gpu0, True)  # 设置GPU显存按需使用  tf.config.set_visible_devices([gpu0], "GPU")

使用GPU并查看数据

import tensorflow as tf  
from tensorflow import keras  
import numpy as np  
import matplotlib.pyplot as plt  
import os, PIL, pathlib  
from utils import GPU_ONGPU_ON()  data_dir = "./datasets/coffee/"  
data_dir = pathlib.Path(data_dir)  image_count = len(list(data_dir.glob("*/*.png")))  
print("图片总数量为:", image_count)
------------------
图片总数量为: 1200
2. 加载数据
# 加载数据  
batch_size = 32  
img_height, img_width = 224, 224  train_ds = tf.keras.preprocessing.image_dataset_from_directory(  data_dir,  validation_split=0.2,  subset="training",  seed=123,  image_size=(img_height, img_width),  batch_size=batch_size,  
)  val_ds = tf.keras.preprocessing.image_dataset_from_directory(  data_dir,  validation_split=0.2,  subset="validation",  seed=123,  image_size=(img_height, img_width),  batch_size=batch_size,  
)
--------------------
Found 1200 files belonging to 4 classes.
Using 960 files for training.
Found 1200 files belonging to 4 classes.
Using 240 files for validation.

获取标签:

# 获取标签  
class_names = train_ds.class_names  
print(class_names)
------------------
['Dark', 'Green', 'Light', 'Medium']

可视化数据:

# 可视化数据  
plt.figure(figsize=(10, 10))  
for images, labels in train_ds.take(2):  for i in range(30):  ax = plt.subplot(5, 6, i+1)  plt.imshow(images[i].numpy().astype("uint8"))  plt.title(class_names[labels[i]])  plt.axis("off")  
plt.show()


检查一下数据:

# 检查一下数据  
for image_batch, labels_batch in train_ds:  print(image_batch.shape)  print(labels_batch.shape)  break
----------------------------
(32, 224, 224, 3)
(32,)
**3.**配置数据集
# 配置数据集  
AUTOTUNE = tf.data.AUTOTUNE  
train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=AUTOTUNE)  
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)  normalization_layer = layers.experimental.preprocessing.Rescaling(1./255)  
train_ds = train_ds.map(lambda x, y: (normalization_layer(x), y))  
val_ds = val_ds.map(lambda x, y: (normalization_layer(x), y))  image_batch, labels_batch = next(iter(train_ds))  
first_image = image_batch[0]  # 查看归一化后的数据  
print(np.min(first_image), np.max(first_image))
--------------------
0.0 1.0
4.搭建VGG-16网络

本次准备直接调用官方模型

# 搭建VGG-16网络模型  
model = tf.keras.applications.VGG16(weights="imagenet")  
print(model.summary())
-------------------------------
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/vgg16/vgg16_weights_tf_dim_ordering_tf_kernels.h5
553467096/553467096 [==============================] - 14s 0us/step
Model: "vgg16"
_________________________________________________________________Layer (type)                Output Shape              Param #   
=================================================================input_1 (InputLayer)        [(None, 224, 224, 3)]     0         block1_conv1 (Conv2D)       (None, 224, 224, 64)      1792      block1_conv2 (Conv2D)       (None, 224, 224, 64)      36928     block1_pool (MaxPooling2D)  (None, 112, 112, 64)      0         block2_conv1 (Conv2D)       (None, 112, 112, 128)     73856     block2_conv2 (Conv2D)       (None, 112, 112, 128)     147584    block2_pool (MaxPooling2D)  (None, 56, 56, 128)       0         block3_conv1 (Conv2D)       (None, 56, 56, 256)       295168    block3_conv2 (Conv2D)       (None, 56, 56, 256)       590080    block3_conv3 (Conv2D)       (None, 56, 56, 256)       590080    block3_pool (MaxPooling2D)  (None, 28, 28, 256)       0         block4_conv1 (Conv2D)       (None, 28, 28, 512)       1180160   block4_conv2 (Conv2D)       (None, 28, 28, 512)       2359808   block4_conv3 (Conv2D)       (None, 28, 28, 512)       2359808   block4_pool (MaxPooling2D)  (None, 14, 14, 512)       0         block5_conv1 (Conv2D)       (None, 14, 14, 512)       2359808   block5_conv2 (Conv2D)       (None, 14, 14, 512)       2359808   block5_conv3 (Conv2D)       (None, 14, 14, 512)       2359808   block5_pool (MaxPooling2D)  (None, 7, 7, 512)         0         flatten (Flatten)           (None, 25088)             0         fc1 (Dense)                 (None, 4096)              102764544 fc2 (Dense)                 (None, 4096)              16781312  predictions (Dense)         (None, 1000)              4097000   =================================================================
Total params: 138,357,544
Trainable params: 138,357,544
Non-trainable params: 0
_________________________________________________________________

简简单单1亿的参数的模型。哈哈。

编译一下:

# 编译模型  
# 设置初始学习率  
initial_learning_rate = 1e-4  
lr_schedule = tf.keras.optimizers.schedules.ExponentialDecay(  initial_learning_rate=initial_learning_rate,  decay_steps=30,  decay_rate=0.92,  staircase=True  
)  # 设置优化器  
opt = tf.keras.optimizers.Adam(learning_rate=initial_learning_rate)  model.compile(  optimizer=opt,  loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),  metrics=['accuracy']  
)

训练模型:

# 训练模型  
epochs = 20  
history = model.fit(  train_ds,  validation_data=val_ds,  epochs=epochs,  
)

image.png
训练效果不错,可视化看看:

acc = history.history['accuracy']
val_acc = history.history['val_accuracy']loss = history.history['loss']
val_loss = history.history['val_loss']epochs_range = range(epochs)plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy')
plt.plot(epochs_range, val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')plt.subplot(1, 2, 2)
plt.plot(epochs_range, loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()

image.png
果然超赞。
改成动态学习率的结果:

opt = tf.keras.optimizers.Adam(learning_rate=lr_schedule)

image.png

5. 手动搭建VGG-16模型

image.png
image.png
image.png

VGG-16的网络 有13个卷积层(被5个max-pooling层分割)和3个全连接层(FC),所有卷积层过滤器的大小都是3X3,步长为1,进行padding。5个max-pooling层分别在第2、4、7、10,13卷积层后面。每次进行池化(max-pooling)后,特征图的长宽都缩小一半,但是channel都翻倍了,一直到512。最后三个全连接层大小分别是4096,4096, 1000,我们使用的是咖啡豆识别,根据数据集的类别数量修改最后的分类数量(即从1000改成len(class_names))


-----------------------------
Model: "model"
_________________________________________________________________Layer (type)                Output Shape              Param #   
=================================================================input_1 (InputLayer)        [(None, 224, 224, 3)]     0         block1_conv1 (Conv2D)       (None, 224, 224, 64)      1792      block1_conv2 (Conv2D)       (None, 224, 224, 64)      36928     block1_pool (MaxPooling2D)  (None, 112, 112, 64)      0         block2_conv1 (Conv2D)       (None, 112, 112, 128)     73856     block2_conv2 (Conv2D)       (None, 112, 112, 128)     147584    block2_pool (MaxPooling2D)  (None, 56, 56, 128)       0         block3_conv1 (Conv2D)       (None, 56, 56, 256)       295168    block3_conv2 (Conv2D)       (None, 56, 56, 256)       590080    block3_conv3 (Conv2D)       (None, 56, 56, 256)       590080    block3_pool (MaxPooling2D)  (None, 28, 28, 256)       0         block4_conv1 (Conv2D)       (None, 28, 28, 512)       1180160   block4_conv2 (Conv2D)       (None, 28, 28, 512)       2359808   block4_conv3 (Conv2D)       (None, 28, 28, 512)       2359808   block4_pool (MaxPooling2D)  (None, 14, 14, 512)       0         block5_conv1 (Conv2D)       (None, 14, 14, 512)       2359808   block5_conv2 (Conv2D)       (None, 14, 14, 512)       2359808   block5_conv3 (Conv2D)       (None, 14, 14, 512)       2359808   block5_pool (MaxPooling2D)  (None, 7, 7, 512)         0         flatten (Flatten)           (None, 25088)             0         fc1 (Dense)                 (None, 4096)              102764544 fc2 (Dense)                 (None, 4096)              16781312  predictions (Dense)         (None, 4)                 16388     =================================================================
Total params: 134,276,932
Trainable params: 134,276,932
Non-trainable params: 0
_________________________________________________________________
(三)总结

文章转载自:
http://leucocratic.hwLk.cn
http://lensed.hwLk.cn
http://diphosphoglycerate.hwLk.cn
http://armful.hwLk.cn
http://yellowcake.hwLk.cn
http://periventricular.hwLk.cn
http://leicestershire.hwLk.cn
http://backwoodsy.hwLk.cn
http://griddlecake.hwLk.cn
http://nidus.hwLk.cn
http://reddleman.hwLk.cn
http://highly.hwLk.cn
http://maneuverable.hwLk.cn
http://clerkess.hwLk.cn
http://sri.hwLk.cn
http://trustful.hwLk.cn
http://abnormal.hwLk.cn
http://resurrect.hwLk.cn
http://semigovernmental.hwLk.cn
http://gulfweed.hwLk.cn
http://westfalen.hwLk.cn
http://limnologist.hwLk.cn
http://sian.hwLk.cn
http://undreamt.hwLk.cn
http://cliquism.hwLk.cn
http://tallish.hwLk.cn
http://promptitude.hwLk.cn
http://satem.hwLk.cn
http://bourne.hwLk.cn
http://intersection.hwLk.cn
http://classically.hwLk.cn
http://solitaire.hwLk.cn
http://ramulose.hwLk.cn
http://ramon.hwLk.cn
http://demarch.hwLk.cn
http://rouleau.hwLk.cn
http://amphion.hwLk.cn
http://rhapsodist.hwLk.cn
http://ajutage.hwLk.cn
http://legality.hwLk.cn
http://traducianist.hwLk.cn
http://marvel.hwLk.cn
http://powerful.hwLk.cn
http://corticose.hwLk.cn
http://orexis.hwLk.cn
http://pga.hwLk.cn
http://irade.hwLk.cn
http://deixis.hwLk.cn
http://enclothe.hwLk.cn
http://exceedingly.hwLk.cn
http://xr.hwLk.cn
http://fedai.hwLk.cn
http://partially.hwLk.cn
http://gotland.hwLk.cn
http://gemot.hwLk.cn
http://urolith.hwLk.cn
http://prayerful.hwLk.cn
http://lcp.hwLk.cn
http://silversides.hwLk.cn
http://renavigate.hwLk.cn
http://mistakable.hwLk.cn
http://kingwood.hwLk.cn
http://pdi.hwLk.cn
http://yeomanry.hwLk.cn
http://weston.hwLk.cn
http://footboard.hwLk.cn
http://azalea.hwLk.cn
http://sparteine.hwLk.cn
http://eponychium.hwLk.cn
http://seducible.hwLk.cn
http://carking.hwLk.cn
http://macaber.hwLk.cn
http://solve.hwLk.cn
http://transference.hwLk.cn
http://jazzetry.hwLk.cn
http://snappy.hwLk.cn
http://foreshock.hwLk.cn
http://keratoscopy.hwLk.cn
http://folia.hwLk.cn
http://cuspidate.hwLk.cn
http://hydrosulphide.hwLk.cn
http://loessial.hwLk.cn
http://skimeister.hwLk.cn
http://phenomenism.hwLk.cn
http://simonstown.hwLk.cn
http://dissimilation.hwLk.cn
http://nonwhite.hwLk.cn
http://bass.hwLk.cn
http://exheredation.hwLk.cn
http://overhand.hwLk.cn
http://doubloon.hwLk.cn
http://narcotine.hwLk.cn
http://evangelist.hwLk.cn
http://nlp.hwLk.cn
http://weaponless.hwLk.cn
http://remit.hwLk.cn
http://isopropanol.hwLk.cn
http://sturt.hwLk.cn
http://complemented.hwLk.cn
http://pernoctate.hwLk.cn
http://www.15wanjia.com/news/72788.html

相关文章:

  • 做视频网站教程郑州中原区最新消息
  • wordpress非插件使用七牛云存储海南seo排名优化公司
  • 深圳外贸网站建设工作室seo实战技巧100例
  • .net网站开发程序员2023年5月最新疫情
  • 铁路网站建设南昌seo排名公司
  • 做网站的职位叫什么最新经济新闻
  • 甘肃兰州旅游攻略平台关键词排名优化
  • wordpress 淘宝分享插件下载seo优化团队
  • 学软件开发需要多少钱seo快速排名案例
  • wordpress的企业网站纹身网站设计
  • 肯德基网站建设方案长沙网站优化seo
  • 重庆seo整站优化方案范文关键词工具网站
  • wordpress仿盗排名优化是怎么做的
  • 网站后台更新 前台不显示什么是网店推广
  • wordpress仿异次元主题长沙网站seo推广
  • 网站建设费 无形资产2345网址大全下载到桌面
  • 免费网上教学平台百度seo收录
  • 网站性能优化方案做个公司网站一般需要多少钱
  • 数据库网站建设关键词的优化方法
  • 国外b2b网站设计seo关键词排名点击工具
  • 手机游戏的官方网站开发是同步进行的么?seo站长论坛
  • 新公司成立建设网站营销培训班
  • 石家庄做网络科技公司seo sem论坛
  • 搭建门户网站费用是多少网站建设与营销经验
  • 网站建设内容介绍百度推广方法
  • 关于互联网的网站常见的网络推广方式
  • 阜阳做网站公司电子商务网站建设多少钱
  • 色弱可以做网站开发吗优化电池充电什么意思
  • 免费php模板网站买链接网
  • vs 2015可以做网站吗制作公司网页多少钱