文章目录

  • 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 模型复用相关推荐

  1. TensorFlow 2.0 - 自定义模型、训练过程

    文章目录 1. 自定义模型 2. 学习流程 学习于:简单粗暴 TensorFlow 2 1. 自定义模型 重载 call() 方法,pytorch 是重载 forward() 方法 import te ...

  2. 简单粗暴上手TensorFlow 2.0,北大学霸力作,必须人手一册!

    (图片付费下载自视觉中国) 整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读] TensorFlow 2.0 于近期正式发布后,立即受到学术界与科研界的广泛关注与好评.此前 ...

  3. 如何简单粗暴地上手 TensorFlow 2.0?

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读] TensorFlow 2.0 于近期正式发布后,立即受到学术界与科研界的广泛关注与好评.此前,我们曾特邀专家回顾了 Te ...

  4. 简单粗暴上手TensorFlow 2.0,北大学霸力作,必须人手一册

    [导读] TensorFlow 2.0 于近期正式发布后,立即受到学术界与科研界的广泛关注与好评.此前,AI 科技大本营曾特邀专家回顾了 TensorFlow 2.0 从初版到最新版本的发展史.今天, ...

  5. pytorch 获取模型参数_剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型...

    选自PyTorch 机器之心编译 参与:思源.一鸣 经典预训练模型.新型前沿研究模型是不是比较难调用?PyTorch 团队今天发布了模型调用神器 PyTorch Hub,只需一行代码,BERT.GPT ...

  6. 使用tensorflow serving部署keras模型(tensorflow 2.0.0)

    点击上方"AI搞事情"关注我们 内容转载自知乎:https://zhuanlan.zhihu.com/p/96917543 Justin ho 〉 Tensorflow 2.0.0 ...

  7. TensorFlow 2.0 —— 模型训练

    目录 1.Keras版本模型训练 1.1 构造模型(顺序模型.函数式模型.子类模型) 1.2 模型训练:model.fit() 1.3 模型验证:model.evaluate() 1.4 模型预测:m ...

  8. 【Tensorflow 2.0 正式版教程】ImageNet(二)模型加载与训练

    前面的教程都只在小模型.小数据库上进行了演示,这次来真正实战一个大型数据库ImageNet.教程会分为三部分:数据增强.模型加载与训练.模型测试,最终在ResNet50上可以达到77.72%的top- ...

  9. c调用python keras模型_使用TensorFlow 2.0创建Keras模型的三种方法

    TensorFlow 2.0和tf.keras提供了三种方式来实现神经网络模型:Sequential API Functional API Model subclassing 下面我将分别使用这三种方 ...

最新文章

  1. Zuul:智能路由和过滤(译)
  2. leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal | 106. 从中序后序遍历序列构造二叉树(Java)
  3. 虚拟语气和推测(三)
  4. 寫程式不需要天份,也不需要熱情
  5. Fast上传图片成功,FastDFSweb页面显示失败
  6. python的get和post方式请求详解
  7. 计算机的工作原理机电原理,机电控制系统原理及工程应用
  8. IDEA利用wsdl文件生成WebService调用接口的方法
  9. 【Unity3D插件】DoTween插件(二)
  10. linux中创建deamon进程的三种方法
  11. tmp ubuntu 自动删除吗_如何清理/tmp?
  12. 招聘信息薪资范围是12-20K,能否要20K的薪资?
  13. 怎么样用matlab做视频,MATLAB:使用writeVideo制作视频
  14. 【目标跟踪 SOT】SiamFC -用于对象跟踪的全卷积孪生网络
  15. 击碎“基因决定论”和“1万小时理论”认知误区!这本书告诉你怎么快速成长!
  16. java web应用开发技术_第一章 Java Web应用开发技术
  17. JAVA 循环语句 流程图
  18. 更改windows 2008远程桌面端口号
  19. js 获取url参数的方法
  20. 2020年美国大学计算机科学专业排名,2020年USNews美国大学计算机工程专业研究生排名...

热门文章

  1. python 二元函数绘制_Python绘制二元函数曲面
  2. python中的内建函数
  3. 【Keras】30 秒上手 Keras+实例对mnist手写数字进行识别准确率达99%以上
  4. 在pycharm中自定义模板代码,快速输出固定代码块
  5. c#中bin,obj,properties文件夹的作用
  6. linux 信号处理函数详解
  7. C++起航篇——bool类型,输入输出,命名空间
  8. vim编辑器中如何查找某个词
  9. CF617E XOR and Favorite Number
  10. Alpha冲刺(7/10)