AIGC相关的编程题目【初级题目】1. 文本生成器 2. 图像标签生成

1. 文本生成器

        编写一个程序,使用预先训练的语言模型(如GPT-2或GPT-3)来生成文本。用户输入一个单词或短语作为提示,程序输出一段继续该提示的文本。

import torch
from transformers import GPT2LMHeadModel, GPT2Tokenizer# 加载预训练的GPT-3模型和tokenizer
model = GPT2LMHeadModel.from_pretrained('gpt3')
tokenizer = GPT2Tokenizer.from_pretrained('gpt3')# 设置生成参数
max_length = 100  # 生成文本的最大长度
num_return_sequences = 1  # 生成几个候选文本
temperature = 1.0  # 控制生成文本的多样性,值越大生成的文本越随机
stop_token = '<|endoftext|>'  # 停止生成的标记# 输入提示词
prompt = input("请输入一个单词或短语作为提示:")# 对提示词进行编码
input_ids = tokenizer.encode(prompt, return_tensors='pt')# 使用模型生成文本
output = model.generate(input_ids, max_length=max_length,num_return_sequences=num_return_sequences,temperature=temperature,pad_token_id=tokenizer.eos_token_id,eos_token_id=tokenizer.encode(stop_token)[0]
)# 解码生成的文本
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)print("生成的文本:")
print(generated_text)

代码的主要步骤如下:

  1. 加载预训练的GPT-2模型和对应的tokenizer。你需要先安装transformers库。

  2. 设置一些生成文本的参数,如最大长度、生成候选数、temperature等。

  3. 提示用户输入一个单词或短语作为提示,并对其进行编码。

  4. 调用模型的generate方法,传入编码后的提示词,根据设置的参数生成文本。

  5. 对生成的文本进行解码,去掉特殊token,然后输出结果。


2. 图像标签生成

        使用一个预训练的图像识别模型(如Inception或ResNet),编写一个程序,能够接收用户上传的图片,并返回图片中可能包含的对象的标签列表。

import numpy as np
from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions
from tensorflow.keras.preprocessing import image# 加载预训练的ResNet50模型
model = ResNet50(weights='imagenet')# 图片预处理函数
def preprocess_image(img_path):img = image.load_img(img_path, target_size=(224, 224))x = image.img_to_array(img)x = np.expand_dims(x, axis=0)x = preprocess_input(x)return x# 图片分类函数
def classify_image(img_path):preprocessed_image = preprocess_image(img_path)preds = model.predict(preprocessed_image)return decode_predictions(preds, top=3)[0]# 测试
img_path = 'test_image.jpg'  # 替换为你要分类的图片路径
predictions = classify_image(img_path)print("图片中可能包含的对象:")
for pred in predictions:print(pred[1], ":", round(pred[2]*100, 2), "%")

代码的主要步骤如下:

  1. 加载预训练的ResNet50模型,使用ImageNet数据集上训练的权重。你需要先安装tensorflow和keras库。

  2. 定义图片预处理函数preprocess_image,将图片缩放到224x224大小,转换为数组格式,并进行必要的归一化处理。

  3. 定义图片分类函数classify_image,调用预处理函数对图片进行处理,然后将处理后的图片输入到模型中进行预测。

  4. 使用decode_predictions函数对预测结果进行解码,获取图片中可能包含的对象标签及其对应的置信度。

  5. 指定要分类的图片路径,调用分类函数,打印出预测结果。


3. 简单的聊天机器人

        利用开源的聊天机器人框架(例如Rasa或Dialogflow),创建一个能够回答预设问题的简单聊天机器人。例如,用户可以询问天气、时间或简单的数学问题,机器人应该能够理解并回答。

详见:AIGC相关的编程题目【初级题目】3. 简单的聊天机器人-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/7783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTK库编译-01

地址 官网地址&#xff1a;Commontk github地址&#xff1a;https://github.com/commontk/CTK 编译环境 Qt套件&#xff1a; IDE&#xff1a;VS2022 使用vs2022 文件->打开->cmake 修改根目录下的CMakeLists.txt 默认只编译core模块&#xff0c;所以需要把部分模块…

一文读懂Python的`__init__`,`__init__`方法的终极指南

大家好&#xff0c;今天给大家介绍一个Python中一个特殊的函数__init__。 在Python中&#xff0c;__init__方法是一个特殊的函数&#xff0c;它在创建类的新实例时自动调用。它的作用类似于其他编程语言中的构造函数&#xff0c;用于初始化对象的状态。这篇文章将带你深入了解…

资料总结分享:SAM,bam,bed文件格式

目录 sam文件 bam文件 bed 文件 sam文件 SAM&#xff08;Sequence Alignment/Map&#xff09;文件是存储测序数据比对结果的一种常见格式。SAM文件通常用于存储DNA或RNA测序数据在参考基因组上的比对结果。 SAM文件由多行文本组成&#xff0c;每一行代表一个比对结果。SAM文…

QX-mini51学习---(2)点亮LED

目录 1什么是ed 2led工作参数 3本节相关原理图分析 4本节相关c 5实践 1什么是ed 半导体发光二极管&#xff0c;将电能转化为光能&#xff0c;耗电低&#xff0c;寿命长&#xff0c;抗震动 长正短负&#xff0c;贴片是绿点处是负极 2led工作参数 3本节相关原理图分析 当…

Python使用with语句管理文件上下文

使用 with 语句管理文件上下文是 Python 中一种常见的文件操作方式&#xff0c;它能够自动管理文件的打开和关闭&#xff0c;使得文件操作更加简洁、安全和可靠。本文将详细介绍如何使用 with 语句管理文件上下文&#xff0c;包括语法、用法、优势以及示例等内容。 一、with 语…

Slurm运行pytorch深度学习模型(小白版)

Slurm背景&#xff1a; Slurm 是一种开源的作业调度系统&#xff0c;它用于管理大型计算集群中的计算资源和作业。你可以把它想象成一个“交通管制员”&#xff0c;负责管理计算集群中的各种任务&#xff0c;确保它们按照用户设定的规则有序地执行。 Slurm 的主要功能包括&…

计算图:深度学习中的链式求导与反向传播引擎

在深度学习的世界中&#xff0c;计算图扮演着至关重要的角色。它不仅是数学计算的图形化表示&#xff0c;更是链式求导与反向传播算法的核心。本文将深入探讨计算图的基本概念、与链式求导的紧密关系及其在反向传播中的应用&#xff0c;旨在为读者提供一个全面而深入的理解。 计…

并发与线程、进程基本概念

目录 并发 可执行程序 进程与线程 进程 线程 线程与进程局别 并发的实现 多进程并发 多线程并发 并发 并发字面上就是多个相对独立的事件一起发生。代表了在同一时间内处理多个任务或进程的能力。我们日常生活中有很多并发例子&#xff0c;如一边看电影一边吃零食&…

嵌入式5-7

练习&#xff1a;优化登录框&#xff0c;输入完用户名和密码后&#xff0c;点击登录&#xff0c;判断账户是否为 Admin 密码 为123456&#xff0c;如果判断成功&#xff0c;则输出登录成功&#xff0c;并关闭整个登录界面&#xff0c;如果登录失败&#xff0c;则提示登录失败&a…

JavaScript异步编程——03-Ajax传输json和XML

Ajax 传输 JSON JSON 的语法 JSON(JavaScript Object Notation)&#xff1a;是 ECMAScript 的子集。作用是进行数据的交换。语法更为简洁&#xff0c;网络传输、机器解析都更为迅速。 语法规则&#xff1a; 数据在键值对中 数据由逗号分隔 花括号保存对象 方括号保存数组…

远程桌面连接不上,远程桌面连接不上的专业解决策略

在信息技术领域&#xff0c;远程桌面连接是一种非常重要的工具&#xff0c;它允许用户从任何地点、任何时间访问和操作远程计算机。然而&#xff0c;当远程桌面连接出现问题时&#xff0c;可能会严重影响工作效率。以下是一些可能导致远程桌面连接不上的原因以及相应的解决方案…

Verilog刷题笔记47

题目&#xff1a; From a 1000 Hz clock, derive a 1 Hz signal, called OneHertz, that could be used to drive an Enable signal for a set of hour/minute/second counters to create a digital wall clock. Since we want the clock to count once per second, the OneHer…

普洱茶泡多少茶叶才算淡茶?

普洱茶淡茶一般放几克茶叶&#xff0c;品深茶官网根据多年专业研究与实践结果&#xff0c;制定了淡茶冲泡标准。在冲泡普洱茶淡茶时&#xff0c;茶叶的投放量是关键因素之一。淡茶冲泡标准旨在保持茶汤的清爽口感&#xff0c;同时充分展现普洱茶的独特风味。 根据《品深淡茶冲…

AMEYA360详解:蔡司利用纳米探针技术探索半导体微观电学性能

半导体器件尺寸不断缩小和复杂度增加&#xff0c;纳米探针(Nanoprobing)技术成为解决微观电学问题和优化器件性能的重要工具&#xff0c;成为半导体失效分析流程中越来越重要的一环。 随着功率半导体的快速发展&#xff0c;其厂商也开始密切关注纳米探针技术在PN结特性分析和掺…

下载后端返回的二进制文件

目录 一、问题 二、解决方法 三、总结 tiips:如嫌繁琐&#xff0c;直接移步总结即可&#xff01; 一、问题 1.需要导出功能&#xff0c;后端已经返回了二进制文件&#xff0c;前端如何下载呢&#xff1f; 二、解决方法 1.数据类型转换&#xff1a;将后端的二进制数据转换…

LeetCode题练习与总结:合并两个有序数组--88

一、题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 注意&#xff1a;最终&#xf…

js宏任务微任务输出解析

第一种情况 setTimeout(function () {console.log(setTimeout 1) //11 宏任务new Promise(function (resolve) {console.log(promise 1) //12 同步函数resolve()}).then(function () {console.log(promise then) //13 微任务})})async function async1() {console.log(async1 s…

贪吃蛇大作战(C语言--实战项目)

朋友们&#xff01;好久不见。经过一段时间的沉淀&#xff0c;我这篇文章来和大家分享贪吃蛇大作战这个游戏是怎么实现的。 &#xff08;一&#xff09;.贪吃蛇背景了解及效果展示 首先相信贪吃蛇游戏绝对称的上是我们00后的童年&#xff0c;不仅是贪吃蛇还有俄罗斯⽅块&…

持续总结中!2024年面试必问 100 道 Java基础面试题(三十四)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 100 道 Java基础面试题&#xff08;三十三&#xff09;-CSDN博客 六十七、抽象类是否可以实现接口&#xff1f; 抽象类可以实现接口&#xff08;Interface&#xff09;。在Java中&#xff0c;抽象类实现接口是一…

【数据库表的约束】

文章目录 一、NULL vs &#xff08;空字符串&#xff09;二、not null 和default三、列描述字段comment四、zerofill五、primary key 主键总结 一、NULL vs ‘’&#xff08;空字符串&#xff09; NULL和空字符串’’ NULL代表什么都没有。 空字符串’代表有&#xff0c;但串…