準備環境:
![]()
cuda是10的版本 cudart64_100.dll
下面是效果圖

下面是代碼,直接復制到編譯器運行即可,可能會報錯, 要看自己電腦有沒有對應的庫 和 圖片的路徑記得改成自己的 清晰度高的圖片效果更加哦~~~
import matplotlib.pyplot as plt
import tensorflow_hub as hub
import tensorflow as tf
import numpy as np
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '/gpu:0'
# 兩張圖片 我們想要做自己的風格遷移 只需要將下面的圖片的地址替換為自己的即可
# 風格圖片
image1 = plt.imread(r"D:\All-Python\tensorflow_Hub\風格遷移\Image\img_7.png")
# 原始圖片
image2 = plt.imread(r"D:\All-Python\tensorflow_Hub\風格遷移\Image\img_6.png")
# 加載模型 從tensorflow_hub 官網下載
hub_model = hub.load('https://hub.tensorflow.google.cn/google/magenta/arbitrary-image-stylization-v1-256/2')
# 改變維度 因為傳入模型需要四維資料
image3 = image1[np.newaxis, :, :, :]
image4 = image2[np.newaxis, :, :, :]
# 規范資料 將格式轉換為Tensor
image3 = tf.convert_to_tensor(image3, dtype=tf.float32)
image4 = tf.convert_to_tensor(image4, dtype=tf.float32)
# 第一個引數是內容圖片 第二個引數是風格圖片
outputs = hub_model(image4, image3)
# 定義一個畫板 顯示圖片
plt.figure()
# 表示將整個畫板分為 1行 3列 當前位置為 1
plt.subplot(1, 3, 1)
plt.imshow(image1)
# 表示將整個畫板分為 1行 3列 當前位置為 2
plt.subplot(1, 3, 2)
plt.imshow(image2)
plt.subplot(1, 3, 3)
# 結果得到的是一個串列 相當于得到了五維的資料
# 我們提取其中的RGB資料用來顯示圖片
plt.imshow(outputs[0][0])
plt.show()
有很多圖片的組合效果還是很不錯的:


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/350809.html
標籤:AI
