Ostrakon-VL-8B环境配置:Ubuntu 22.04 + CUDA 12.1 + PyTorch 2.3 验证清单

news2026/4/4 0:54:00
Ostrakon-VL-8B环境配置Ubuntu 22.04 CUDA 12.1 PyTorch 2.3 验证清单想快速在Ubuntu系统上跑通Ostrakon-VL-8B这个强大的视觉理解模型但被各种环境依赖搞得头大别担心这份清单就是为你准备的。Ostrakon-VL-8B是一个专门为餐饮和零售场景优化的多模态AI模型能看懂店铺图片、分析商品陈列、检查卫生状况甚至识别图片中的文字。它基于Qwen3-VL-8B微调而来在ShopBench测试中得分60.1表现相当出色。不过要让它顺利运行你得先搞定环境配置。今天我就带你一步步验证Ubuntu 22.04 CUDA 12.1 PyTorch 2.3这个组合是否可行确保你的Ostrakon-VL-8B能顺利跑起来。1. 环境检查从系统到驱动在开始安装任何东西之前我们先来检查一下你的基础环境是否达标。1.1 系统版本确认打开终端输入以下命令查看你的Ubuntu版本lsb_release -a你应该能看到类似这样的输出Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy关键点确认是Ubuntu 22.04Jammy Jellyfish。这个版本对CUDA 12.1的支持最好也是PyTorch官方推荐的稳定环境。1.2 NVIDIA驱动检查接下来检查你的NVIDIA显卡驱动是否安装正确nvidia-smi这个命令会显示你的GPU信息和驱动版本。理想情况下你应该看到类似这样的信息--------------------------------------------------------------------------------------- | NVIDIA-SMI 535.161.07 Driver Version: 535.161.07 CUDA Version: 12.2 | |------------------------------------------------------------------------------------- | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | || | 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 On | Off | | 0% 38C P8 22W / 450W | 100MiB / 24564MiB | 0% Default | | | | N/A | -------------------------------------------------------------------------------------注意看这几个地方Driver Version驱动版本号535.x或更高版本通常没问题CUDA Version这里显示的是驱动支持的最高CUDA版本不是实际安装的CUDAGPU Memory显存大小Ostrakon-VL-8B建议16GB以上如果nvidia-smi命令报错或找不到说明驱动没装好。你需要先安装NVIDIA驱动# 添加官方驱动仓库 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 安装推荐版本的驱动 sudo ubuntu-drivers autoinstall # 重启系统 sudo reboot重启后再运行nvidia-smi确认驱动已正常加载。2. CUDA 12.1安装与验证CUDA是NVIDIA的并行计算平台PyTorch和很多AI模型都依赖它。我们选择CUDA 12.1是因为它在稳定性和性能之间取得了很好的平衡。2.1 安装CUDA 12.1首先访问NVIDIA官网的CUDA Toolkit Archive页面找到CUDA 12.1的安装指令。对于Ubuntu 22.04安装命令通常是这样的# 下载并安装CUDA 12.1 wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda-12-1安装过程可能需要一些时间取决于你的网速。完成后需要将CUDA添加到环境变量中# 编辑bash配置文件 echo export PATH/usr/local/cuda-12.1/bin${PATH::${PATH}} ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}} ~/.bashrc # 使配置生效 source ~/.bashrc2.2 验证CUDA安装安装完成后我们来验证CUDA是否正常工作# 检查CUDA编译器版本 nvcc --version你应该看到类似这样的输出nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Wed_Jun__7_16:16:49_PDT_2023 Cuda compilation tools, release 12.1, V12.1.105 Build cuda_12.1.r12.1/compiler.32688072_0这确认了CUDA 12.1已成功安装。你还可以运行一个简单的CUDA示例来进一步验证# 编译并运行CUDA示例 cd /usr/local/cuda-12.1/samples/1_Utilities/deviceQuery sudo make ./deviceQuery如果看到Result PASS说明CUDA安装完全正确你的GPU可以被CUDA正常识别和使用。3. PyTorch 2.3安装与兼容性测试PyTorch是运行Ostrakon-VL-8B的核心框架。我们选择PyTorch 2.3版本因为它与CUDA 12.1有很好的兼容性。3.1 安装PyTorch 2.3打开PyTorch官网选择对应的配置PyTorch 2.3、Linux、pip、Python、CUDA 12.1。你会看到类似这样的安装命令pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121重要提示建议先创建一个Python虚拟环境避免包冲突# 创建虚拟环境 python3 -m venv ostrakon_env source ostrakon_env/bin/activate # 在虚拟环境中安装PyTorch pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121安装完成后升级pip并安装一些基础依赖pip install --upgrade pip pip install numpy pandas matplotlib3.2 验证PyTorch与CUDA的兼容性现在我们来测试PyTorch是否能正确识别CUDA和GPUimport torch print(fPyTorch版本: {torch.__version__}) print(fCUDA是否可用: {torch.cuda.is_available()}) print(fCUDA版本: {torch.version.cuda}) print(fGPU数量: {torch.cuda.device_count()}) print(f当前GPU: {torch.cuda.current_device()}) print(fGPU名称: {torch.cuda.get_device_name(0)}) # 测试一个简单的张量运算 if torch.cuda.is_available(): x torch.randn(3, 3).cuda() y torch.randn(3, 3).cuda() z torch.matmul(x, y) print(fGPU计算测试通过结果形状: {z.shape}) else: print(警告: CUDA不可用PyTorch将在CPU模式下运行)运行这个脚本你应该看到类似这样的输出PyTorch版本: 2.3.0cu121 CUDA是否可用: True CUDA版本: 12.1 GPU数量: 1 当前GPU: 0 GPU名称: NVIDIA GeForce RTX 4090 GPU计算测试通过结果形状: torch.Size([3, 3])关键检查点torch.__version__应该包含cu121表示这是CUDA 12.1版本的PyTorchtorch.cuda.is_available()必须返回Truetorch.version.cuda应该显示12.1如果其中任何一项不符合说明安装有问题需要重新检查。4. Ostrakon-VL-8B环境准备基础环境搞定后我们开始为Ostrakon-VL-8B准备专门的运行环境。4.1 安装模型依赖Ostrakon-VL-8B需要一些特定的Python包。根据项目提供的requirements.txt我们需要安装以下依赖# 确保在虚拟环境中 source ostrakon_env/bin/activate # 安装核心依赖 pip install transformers5.2.0 pip install gradio4.0.0 pip install Pillow10.0.0 pip install accelerate pip install sentencepiece pip install tiktoken # 如果需要可以一次性安装所有依赖 # pip install -r /path/to/requirements.txt版本注意transformers需要5.2.0或更高版本因为Ostrakon-VL-8B基于Qwen3-VL需要较新的transformers支持gradio用于构建Web界面4.0.0版本提供了更好的多模态支持Pillow用于图像处理确保能正确读取各种格式的图片4.2 验证环境完整性创建一个简单的测试脚本来验证所有依赖是否正常# test_environment.py import sys import torch import transformers import gradio as gr from PIL import Image print( 环境验证报告 ) print(fPython版本: {sys.version}) print(fPyTorch版本: {torch.__version__}) print(fTransformers版本: {transformers.__version__}) print(fGradio版本: {gr.__version__}) print(fPillow版本: {Image.__version__}) print(f\n CUDA/GPU状态 ) print(fCUDA可用: {torch.cuda.is_available()}) if torch.cuda.is_available(): print(fGPU内存: {torch.cuda.get_device_properties(0).total_memory / 1e9:.2f} GB) print(f当前占用: {torch.cuda.memory_allocated(0) / 1e9:.2f} GB) print(f\n 关键功能测试 ) # 测试图像处理 try: img Image.new(RGB, (100, 100), colorred) print(✓ Pillow图像处理正常) except Exception as e: print(f✗ Pillow错误: {e}) # 测试transformers try: from transformers import AutoConfig config AutoConfig.from_pretrained(Qwen/Qwen2.5-7B-Instruct) print(✓ Transformers配置加载正常) except Exception as e: print(f✗ Transformers错误: {e}) print(\n 环境验证完成 )运行这个脚本确保所有测试都通过。如果有任何错误根据提示安装缺失的包或解决版本冲突。5. 模型下载与加载测试环境配置完成后我们来测试Ostrakon-VL-8B模型的下载和加载。5.1 模型下载准备Ostrakon-VL-8B模型大约17GB你需要确保有足够的磁盘空间# 检查磁盘空间 df -h /root建议至少有50GB的可用空间因为除了模型本身还需要空间用于缓存和其他文件。5.2 创建模型目录按照Ostrakon-VL-8B的文档模型应该放在特定目录# 创建模型目录 sudo mkdir -p /root/ai-models/Ostrakon sudo chown -R $USER:$USER /root/ai-models # 创建项目目录 mkdir -p /root/Ostrakon-VL-8B5.3 测试模型加载由于完整模型下载较慢我们可以先测试一个小型模型来验证pipeline是否正常# test_model_loading.py import torch from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline from PIL import Image import requests from io import BytesIO print(测试小型视觉语言模型加载...) # 使用一个小型模型测试pipeline model_id microsoft/phi-2 # 一个小型文本模型用于测试 try: # 测试文本模型加载 print(f正在加载模型: {model_id}) tokenizer AutoTokenizer.from_pretrained(model_id, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( model_id, torch_dtypetorch.float16, device_mapauto, trust_remote_codeTrue ) print(✓ 模型加载成功) print(f模型设备: {model.device}) print(f模型参数: {sum(p.numel() for p in model.parameters()) / 1e9:.2f}B) # 测试推理 inputs tokenizer(Hello, how are you?, return_tensorspt).to(model.device) outputs model.generate(**inputs, max_length50) response tokenizer.decode(outputs[0], skip_special_tokensTrue) print(f✓ 推理测试通过: {response[:50]}...) except Exception as e: print(f✗ 模型加载失败: {e}) print(可能的原因:) print(1. 网络问题 - 检查是否能访问HuggingFace) print(2. 磁盘空间不足 - 检查可用空间) print(3. 内存不足 - 检查系统内存) print(4. 包版本冲突 - 检查transformers版本) print(\n 模型加载测试完成 )这个测试会验证是否能从HuggingFace下载模型是否能正确加载模型到GPU是否能进行基本的推理如果这个测试通过说明你的环境配置正确可以正常下载和运行Ostrakon-VL-8B。6. 完整运行测试最后我们来测试完整的Ostrakon-VL-8B应用。6.1 获取应用代码首先获取Ostrakon-VL-8B的应用代码# 进入项目目录 cd /root/Ostrakon-VL-8B # 这里假设你已经有了app.py和start.sh # 如果没有可以从GitHub获取 # git clone https://github.com/Ostrakon-VL/Ostrakon-VL-8B.git /root/Ostrakon-VL-8B6.2 安装应用依赖检查并安装应用所需的所有依赖# 安装requirements.txt中的依赖 pip install -r requirements.txt # 如果requirements.txt不存在手动安装 pip install transformers5.2.0 pip install gradio4.0.0 pip install Pillow10.0.0 pip install accelerate pip install sentencepiece pip install tiktoken pip install protobuf6.3 运行测试脚本创建一个简化的测试脚本来验证核心功能# simple_test.py import sys import os sys.path.append(/root/Ostrakon-VL-8B) try: # 测试基础导入 from PIL import Image import torch from transformers import AutoModelForCausalLM, AutoTokenizer import gradio as gr print(✓ 所有核心包导入成功) # 测试图像处理 test_image Image.new(RGB, (224, 224), colorblue) test_image.save(/tmp/test_image.jpg) print(✓ 图像处理测试通过) # 测试CUDA if torch.cuda.is_available(): test_tensor torch.randn(2, 3, 224, 224).cuda() print(f✓ CUDA测试通过张量设备: {test_tensor.device}) else: print(⚠ CUDA不可用将使用CPU模式) # 测试Gradio demo gr.Interface(lambda x: x, text, text) print(✓ Gradio测试通过) print(\n 环境测试全部通过 ) print(可以运行Ostrakon-VL-8B应用了) except Exception as e: print(f✗ 测试失败: {e}) import traceback traceback.print_exc()6.4 启动应用测试如果所有测试都通过尝试启动应用cd /root/Ostrakon-VL-8B # 第一次运行可能会下载模型需要较长时间 # 可以添加--share参数创建公共链接如果需要 python app.py应用启动后你应该能看到类似这样的输出Running on local URL: http://127.0.0.1:7860 Running on public URL: https://xxxxxx.gradio.live在浏览器中打开http://你的服务器IP:7860应该能看到Ostrakon-VL-8B的Web界面。7. 常见问题与解决方案在配置过程中你可能会遇到一些问题。这里列出了一些常见问题及其解决方法。7.1 CUDA相关错误问题1:CUDA error: no kernel image is available for executionRuntimeError: CUDA error: no kernel image is available for execution on the device解决方法 这通常是因为PyTorch的CUDA版本与系统安装的CUDA版本不匹配。检查并重新安装正确版本的PyTorch# 卸载当前PyTorch pip uninstall torch torchvision torchaudio -y # 安装与CUDA 12.1匹配的PyTorch pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121问题2:CUDA out of memorytorch.cuda.OutOfMemoryError: CUDA out of memory.解决方法 Ostrakon-VL-8B需要较大显存尝试以下方法关闭其他使用GPU的程序减少批量大小如果可配置使用CPU模式性能会下降# 在代码中强制使用CPU model.to(cpu)7.2 模型加载问题问题: 下载模型时网络超时ConnectionError: Could not connect to HuggingFace.co解决方法使用镜像源# 在代码中设置镜像 import os os.environ[HF_ENDPOINT] https://hf-mirror.com手动下载模型文件然后从本地加载使用代理如果可用7.3 依赖冲突问题: 包版本冲突ImportError: cannot import name xxx from yyy解决方法 创建干净的虚拟环境按顺序安装# 创建新环境 python -m venv clean_env source clean_env/bin/activate # 按顺序安装 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install transformers5.2.0 pip install gradio4.0.0 pip install Pillow10.0.0 # ... 其他依赖7.4 权限问题问题: 权限不足无法访问目录PermissionError: [Errno 13] Permission denied: /root/...解决方法 调整目录权限sudo chown -R $USER:$USER /root/Ostrakon-VL-8B sudo chmod -R 755 /root/Ostrakon-VL-8B8. 性能优化建议环境配置好后这里有一些优化建议能让Ostrakon-VL-8B运行得更顺畅。8.1 显存优化如果显存紧张可以尝试这些方法# 使用半精度浮点数减少显存使用 model.half() # 启用梯度检查点用计算时间换显存 model.gradient_checkpointing_enable() # 使用更小的批次大小 batch_size 1 # 根据显存调整 # 及时清理缓存 torch.cuda.empty_cache()8.2 推理速度优化# 启用CUDA图优化PyTorch 2.0 torch.backends.cudnn.benchmark True # 使用更快的注意力实现 model.config.use_flash_attention_2 True # 预热模型 with torch.no_grad(): dummy_input torch.randn(1, 3, 224, 224).cuda() _ model(dummy_input)8.3 内存管理# 监控GPU使用情况 watch -n 1 nvidia-smi # 设置交换空间如果物理内存不足 sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile9. 环境验证清单总结经过以上步骤你的Ostrakon-VL-8B运行环境应该已经配置完成。让我们最后做一次快速检查9.1 最终验证脚本运行这个最终检查脚本确认所有组件都正常工作# final_check.py import torch import transformers import gradio as gr from PIL import Image import sys print( * 50) print(Ostrakon-VL-8B 环境最终验证) print( * 50) checks [] # 1. Python版本 checks.append((Python版本, sys.version.split()[0], 3.8, ✓ if sys.version_info (3, 8) else ✗)) # 2. PyTorch和CUDA checks.append((PyTorch版本, torch.__version__, 2.3.0, ✓ if torch.__version__ 2.3.0 else ⚠)) checks.append((CUDA可用, str(torch.cuda.is_available()), True, ✓ if torch.cuda.is_available() else ✗)) if torch.cuda.is_available(): checks.append((CUDA版本, torch.version.cuda, 12.1, ✓ if 12.1 in torch.version.cuda else ⚠)) checks.append((GPU显存, f{torch.cuda.get_device_properties(0).total_memory / 1e9:.1f}GB, 16GB, ✓ if torch.cuda.get_device_properties(0).total_memory 16e9 else ⚠)) # 3. 关键包版本 checks.append((Transformers, transformers.__version__, 5.2.0, ✓ if transformers.__version__ 5.2.0 else ✗)) checks.append((Gradio, gr.__version__, 4.0.0, ✓ if gr.__version__ 4.0.0 else ✗)) # 4. 功能测试 try: img Image.new(RGB, (100, 100)) checks.append((Pillow图像处理, 正常, 正常, ✓)) except: checks.append((Pillow图像处理, 失败, 正常, ✗)) # 打印结果 print(\n检查项目.ljust(25) 当前状态.ljust(15) 要求.ljust(10) 结果) print(- * 60) for name, current, required, status in checks: print(f{name.ljust(25)}{current.ljust(15)}{required.ljust(10)}{status}) # 总结 print(\n * 50) passed sum(1 for _, _, _, status in checks if status ✓) warnings sum(1 for _, _, _, status in checks if status ⚠) failed sum(1 for _, _, _, status in checks if status ✗) print(f总结: 通过 {passed} 项, 警告 {warnings} 项, 失败 {failed} 项) if failed 0: if warnings 0: print(✅ 环境配置完美可以运行Ostrakon-VL-8B) else: print(⚠ 环境基本可用但有一些警告项需要注意) else: print(❌ 环境配置有问题请根据上面的失败项进行修复) print( * 50)9.2 快速启动命令一切就绪后你可以用这些命令快速启动Ostrakon-VL-8B# 激活虚拟环境 source ~/ostrakon_env/bin/activate # 进入项目目录 cd /root/Ostrakon-VL-8B # 启动应用使用启动脚本 bash start.sh # 或者直接启动 python app.py # 如果需要公共访问链接 python app.py --share9.3 日常使用提示首次启动第一次运行会下载17GB的模型文件需要较长时间取决于网络速度内存管理如果长时间不使用可以停止服务释放显存pkill -f python app.py日志查看如果遇到问题查看应用输出日志tail -f /root/Ostrakon-VL-8B/logs/app.log # 如果有日志文件定期更新关注项目更新及时获取新功能cd /root/Ostrakon-VL-8B git pull # 如果使用git管理 pip install -r requirements.txt --upgrade现在你的Ubuntu 22.04系统已经配置好了CUDA 12.1 PyTorch 2.3环境可以顺利运行Ostrakon-VL-8B了。这个强大的视觉理解模型将帮助你分析店铺图片、优化商品陈列、检查卫生状况为餐饮和零售业务提供智能支持。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…