pythonimport numpy as np
from PIL import Image
import requests
from transformers import AutoProcessor, AutoModel
import torch
# 初始化模型和处理器
processor = AutoProcessor.from_pretrained("/ssd/xiedong/siglip-so400m-patch14-384")
model = AutoModel.from_pretrained("/ssd/xiedong/siglip-so400m-patch14-384")
# 将模型移动到 GPU 上
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)
# 提取图片特征的函数
def get_image_features(image: Image.Image):
"""
输入一张图片,输出其特征向量。
:param image: 输入图片 (PIL.Image)
:return: 图片特征向量 (list)
"""
# 处理图像输入,使其可以输入模型
inputs = processor(images=image, return_tensors="pt").to(device) # 将输入张量移动到设备上
# 不计算梯度 (inference 模式)
with torch.no_grad():
# 提取图片特征
image_features = model.get_image_features(**inputs)
# 对特征进行 L2 归一化
image_features = image_features / image_features.norm(p=2, dim=-1, keepdim=True)
# 转换为 CPU 上的 list
return image_features.cpu().tolist()
# 示例用法
if __name__ == "__main__":
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
features = get_image_features(image)
print(np.asarray(features).shape)
print("Image Features:", features)
设计/开发/制作/试验内容: 该系统以MSP430单片机为核心,设计一个简易音乐播放器(通过手柄板上的蜂鸣器发声,播放2-4首音乐),同时LED模块闪烁,给人视、听觉美的感受。利用模块的设计方法,各个模块实现不同功能,并通过MSP430单片机联系起来,最终实现音乐播放器。
2.设计/开发/制作/试验目标: 基于MSP430单片机,设计一个音乐播放器,寓教于乐,既提高同学们的嵌入式软硬件开发技术,又可以在课间时间利用该电路进行小制作,实现理论与实践相结合。
3.要求: (1)按下播放按键A6开始播放音乐,再次按下停止播放;(刚性) (2)按下按键A5播放下一首,按下按键A4播放上一首;(刚性) (3)播放音乐时OLED显示相应的曲目名;(刚性) (4)当按下“下一首”或者“上一首”按键,但是已经播放至最后一首时,显示屏显示“无更多曲目!”,同时蜂鸣器报警三秒钟;(刚性) (5)歌曲名横向滚动显示;(拓展) (6)具有音乐播放模式切换键,播放模式有单曲循环、顺序播放、随机播放三种模式。(拓展)
在基于 Ubuntu 的 Docker 容器中,如果你无法显示中文,那么主要的问题是系统中缺少中文字体和相关的语言支持包。你可以按照以下步骤解决问题:
执行下面的命令来安装中文语言包和字体:
bashapt-get update && apt-get install -y locales && apt-get install -y fonts-arphic-ukai fonts-arphic-uming