首页 > 其他分享 >4. 使用DeepDream生成图像

4. 使用DeepDream生成图像

时间:2024-09-06 09:54:16浏览次数:7  
标签:plt img image 生成 DeepDream 图像 tf model dream

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

def load_model():
    model = tf.keras.applications.InceptionV3(weights='imagenet', include_top=False)
    model.trainable = False
    return model

def deep_dream(image, model, iterations=10, step_size=0.01):
    image = tf.convert_to_tensor(image)
    image = tf.expand_dims(image, axis=0)
    for _ in range(iterations):
        with tf.GradientTape() as tape:
            tape.watch(image)
            features = model(image)
            loss = tf.reduce_mean(features)
        gradients = tape.gradient(loss, image)
        gradients /= tf.math.reduce_std(gradients) + 1e-8
        image = image + gradients * step_size
        image = tf.clip_by_value(image, -1.0, 1.0)
    return image.numpy().squeeze()

# Load and preprocess image
img_path = 'input_image.jpg'  # Replace with your image path
img = tf.keras.preprocessing.image.load_img(img_path, target_size=(224, 224))
img = tf.keras.preprocessing.image.img_to_array(img)
img = (img / 255.0) * 2.0 - 1.0

# Load model and run DeepDream
model = load_model()
dream_img = deep_dream(img, model, iterations=50, step_size=0.01)

# Save and display the result
dream_img = (dream_img + 1.0) / 2.0
plt.imshow(dream_img)
plt.axis('off')
plt.savefig('deepdream_image.png')
plt.show()

标签:plt,img,image,生成,DeepDream,图像,tf,model,dream
From: https://blog.51cto.com/u_16215583/11935780

相关文章

  • 机器学习:opencv--图像边缘检测
    目录前言一、图像边缘检测1.边缘检测        2.边缘检测的方法二、Sobel算子1.Sobel算子        2.计算3.代码实现4.代码步骤解析1.导入图片2.处理x轴和y轴的边缘并相加三、Scharr算子1.Scharr算子2.计算3.代码实现四、Laplacian算子1.Laplac......
  • 机器学习:opencv图像识别--模版匹配
    目录一、模版匹配的核心概念1.图片模板匹配是一种用于在图像中查找特定模式或对象的技术。2.模板图像3.目标图像4.滑动窗口5.相似度度量6.匹配位置二、模版匹配的步骤1.准备图像:2.预处理:3.匹配:4.定位最佳匹配:5.标记结果:6.显示或处理结果:三、代码实现一、模版......
  • Java毕业设计基于SpringBoot的大学生成绩管理系统(源码+文档+调试+讲解)
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍利用电脑网络的这些便利,发展一套大学生成绩管理系统,将会给学生带来更大的效益,而在学生成绩效能上,也必然会有很大的方便!这样可以节省大量的人力、时间和金钱。该系统主要包括班......
  • chatgpt生成的所有分析函数,感觉很好.
      好的,我会列出Hive的主要分析函数,然后创建一个表并插入10条数据来演示这些函数的效果。Hive的主要分析函数:ROW_NUMBER()RANK()DENSE_RANK()CUME_DIST()PERCENT_RANK()NTILE()LAG()LEAD()FIRST_VALUE()LAST_VALUE()现在,让我们创建一个表并插入数据: --创建......
  • 【生日视频制作】毛笔书法字展示写字AE模板修改文字软件生成器教程特效素材【AE模板】
    生日视频制作教程毛笔书法字展示写字AE模板修改文字特效广软件告生成神器素材祝福玩法AE模板替换工程怎么如何做的【生日视频制作】毛笔书法字展示写字AE模板修改文字软件生成器教程特效素材【AE模板】生日视频制作步骤:安装AE软件下载AE模板把AE模板导入AE软件修......
  • 生成式AI小抄
                            ......
  • 回归、分类、生成三大任务实现原理
    在机器学习与深度学习相关项目需求实现中,通常可以细分成很多个回归、分类、生成任务的实现,由这些任务组成一个完整的任务。下面分别介绍这三种任务回归:什么是回归?找到一个函数,通过输入的特征值X,输出一个连续的数值Y。回归任务的目标是预测连续值的输出。例如,预测房价、温度......
  • 【springboot】使用swagger生成接口文档
    1.添加依赖<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.6.0</version></dependency>       这里我老是添加不上......
  • Android开发 - Matrix 处理图像变换解析
    Matrix是什么Matrix是一个用于处理图像变换的类,它可以对图像进行缩放、旋转、平移和倾斜等操作。通俗来讲,Matrix就像是一个数学公式,用来定义如何改变图像的位置、形状或者方向Matrix的主要功能缩放(Scale):可以改变图片的大小,比如放大或缩小旋转(Rotate):可以将图片绕某个......
  • python_August(迭代器、生成式)
    目录迭代器三元表达式列表推导式字典生成器拉链函数迭代器可迭代对象:只要拥有iter方法的对象就是可迭代对象,下面的除了前两个,从字符串开始都是可迭代对象height=180 #整型salary=3.2 #浮点型name='nick' #字符串hobby_list1=['run','read'] #列表hobby_tup=......