日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TensorFlow 2.0 - Hub 模型复用

發布時間:2024/7/5 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TensorFlow 2.0 - Hub 模型复用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. tfhub
    • 2. 例子:神經風格轉換
    • 3. retrain 例子

學習于:簡單粗暴 TensorFlow 2

1. tfhub

網址:
https://hub.tensorflow.google.cn/
https://tfhub.dev/

  • 可以搜索,下載模型

  • 安裝包 pip install tensorflow-hub

import tensorflow_hub as hubhub_url = 'https://hub.tensorflow.google.cn/google/magenta/arbitrary-image-stylization-v1-256/2' hub_model = hub.load(hub_url) # 加載模型 outputs = hub_model(inputs) # 調用模型

2. 例子:神經風格轉換

Ng 課也講過這個例子

import tensorflow_hub as hub import matplotlib.pyplot as plt import numpy as np import tensorflow as tf# 歸一化,resize def load_image_local(img_path, img_size=(256, 256)):# png 4 通道轉 jpg 3通道if 'png' in img_path:img = Image.open(img_path)img = img.convert('RGB')img.save("temp.jpg")img = plt.imread("temp.jpg").astype(np.float32)[np.newaxis, :, :, :]else:# 添加一個 batch_size 軸img = plt.imread(img_path).astype(np.float32)[np.newaxis, :, :, :]if img.max() > 1.0:img = img / 255.img = tf.image.resize(img, img_size, preserve_aspect_ratio=True)return img# 繪制圖片 def show_image(img, title, save=False, fig_dpi=300):plt.imshow(img, aspect='equal')plt.axis('off')plt.show()if save:plt.imsave(title + '.jpg', img.numpy())# 圖片路徑 content_image_path = "pic1.jpg" style_image_path = "pic2.jpg"# 處理圖片 content_image = load_image_local(content_image_path) style_image = load_image_local(style_image_path)# 展示圖片 show_image(content_image[0], "Content Image") show_image(style_image[0], "Style Image")# 加載模型 hub_url = 'https://hub.tensorflow.google.cn/google/magenta/arbitrary-image-stylization-v1-256/2' hub_model = hub.load(hub_url)# 調用模型 outputs = hub_model(tf.constant(content_image), tf.constant(style_image)) stylized_image = outputs[0] # 取出第一個樣本預測值 [ :, :, 3]# 展示預測圖片 show_image(stylized_image[0], "Stylized Image", True)

內容圖片:

風格圖片:

轉換后的圖片:

3. retrain 例子

https://hub.tensorflow.google.cn/google/imagenet/inception_v3/feature_vector/4

  • hub.KerasLayer(url) 封裝一個layer到模型當中,可以設置是否 finetune
num_classes = 10 model = tf.keras.Sequential([hub.KerasLayer("https://hub.tensorflow.google.cn/google/imagenet/inception_v3/feature_vector/4",trainable=False), # 可以設為True,微調tf.keras.layers.Dense(num_classes, activation='softmax') ]) model.build([None, 299, 299, 3]) # Batch input shape model.summary()

模型結構

Model: "sequential" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= keras_layer (KerasLayer) (None, 2048) 21802784 _________________________________________________________________ dense (Dense) (None, 10) 20490 ================================================================= Total params: 21,823,274 Trainable params: 20,490 Non-trainable params: 21,802,784 _________________________________________________________________

總結

以上是生活随笔為你收集整理的TensorFlow 2.0 - Hub 模型复用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。