openEuler系统部署TensorFlow GPU版:从环境配置到避坑指南
1. 从“能用”到“好用”在openEuler上部署TensorFlow的完整心路最近在给一个边缘计算项目做技术选型目标平台是基于ARM架构的国产服务器操作系统指定了openEuler。团队里做算法的小伙伴张口就是TensorFlow这让我这个负责部署运维的有点头大。说实话第一次听到这个组合——“openEuler上跑TensorFlow”——我下意识觉得这可能是个“踩坑”之旅。毕竟TensorFlow的官方文档和社区讨论绝大多数都是围绕着Ubuntu、CentOS这些主流发行版openEuler作为一个相对较新且在国内生态中快速发展的操作系统相关的实践分享确实不多。但实际做下来我发现情况比预想的要乐观。openEuler本身源自成熟的Linux内核其软件包管理和社区支持正在飞速完善。部署TensorFlow的核心挑战其实不在于系统本身有多“特殊”而在于如何绕开那些因生态位差异而产生的“信息差”。比如你知道该用哪个版本的GCC编译环境吗系统自带的Python3是哪个小版本用pip直接装tensorflow十有八九会碰到一堆依赖报错尤其是涉及到GPU加速时CUDA、cuDNN的版本矩阵简直让人眼花缭乱。这篇文章就是我完整走通这条路之后的一份详细记录。它不是一份冷冰冰的官方文档翻译而是一个实践者从“从零开始”到“顺畅运行”的全过程复盘包含了版本选择背后的权衡、每一步操作的具体意图、以及那些在普通教程里不会写的“坑”和应对技巧。无论你是需要在国产化环境中部署AI应用还是单纯对在openEuler上玩转深度学习框架感兴趣希望这份经验能帮你少走弯路。2. 环境侦察与前期规划定好基调才能避免返工在动手敲下任何安装命令之前花半小时做好规划能省下后面半天甚至更久的折腾时间。这个阶段的核心是搞清楚三个问题系统现状、目标需求、以及两者之间的匹配路径。2.1 摸清家底你的openEuler是什么版本openEuler有不同的LTS长期支持版本和社区创新版本。首先通过命令确认系统详细信息cat /etc/os-release这个命令会输出类似下面的信息NAMEopenEuler VERSION22.03 LTS IDopenEuler ...我这次使用的就是openEuler 22.03 LTS这是一个非常稳定的版本。确认版本号至关重要因为不同版本的openEuler其默认的软件源、内核版本、乃至预装的Glibc版本都可能不同这些都会直接影响后续软件包的兼容性。接下来检查关键的编译工具链。TensorFlow的某些底层库特别是在从源码构建时对GCC版本有要求。gcc --version在openEuler 22.03上默认的GCC版本通常是9.3或更高这对于安装主流的TensorFlow 2.x版本来说是足够的。但如果你的系统是更早的版本可能需要考虑升级GCC。2.2 明确目标你需要什么样的TensorFlowTensorFlow的安装选项很多你需要根据硬件和应用场景做出选择CPU版 vs GPU版这是最重要的决策。如果你的机器有NVIDIA GPU并且需要用于训练或大规模推理那么必须安装GPU版本。如果只是用于学习、轻量级推理或没有GPU那么CPU版本更简单、更稳定。安装方式pip安装最简单快捷直接从Python官方的PyPI仓库或国内镜像如清华、阿里云镜像下载预编译的wheel包。这是最推荐新手和大多数生产环境使用的方式。Docker安装通过TensorFlow官方提供的Docker镜像运行。这种方式隔离性好几乎免除了环境依赖的烦恼特别适合快速部署和测试。在openEuler上只要Docker引擎正常运行这就是一条捷径。源码编译最复杂、最耗时但能获得针对特定CPU指令集如AVX2的极致优化。除非你有非常特殊的硬件如某些国产AI加速卡或定制化需求否则不推荐在初次部署时尝试。版本选择TensorFlow 2.x已是绝对主流API更友好。具体小版本如2.10, 2.13需要与Python版本、CUDA版本如果装GPU版匹配。一个实用的建议是选择比当前最新版稍旧1-2个的稳定版本。例如在2023年下半年TensorFlow 2.13是最新但2.10或2.11拥有更广泛的社区验证和更稳定的轮子。基于以上分析我为这次部署确定的目标是在openEuler 22.03 LTS上通过pip安装TensorFlow 2.10的GPU版本以利用服务器的NVIDIA Tesla T4显卡。2.3 依赖地图理清软件之间的“亲戚关系”安装GPU版的TensorFlow本质上是在搭建一个由“Python - TensorFlow - CUDA - cuDNN - NVIDIA驱动”构成的依赖栈。它们必须版本兼容。最权威的参考是TensorFlow官方的 版本对照表 虽然更新可能滞后但仍有重要参考价值。根据TensorFlow 2.10的要求我锁定了以下配套版本Python: 3.7-3.10。openEuler 22.03默认可能安装Python 3.9这很好。CUDA: 11.2cuDNN: 8.1而NVIDIA驱动版本则需要满足CUDA 11.2的最低要求。可以通过nvidia-smi命令查看现有驱动版本。这一步规划就像打仗前的沙盘推演能让你对即将面对的挑战心中有数。注意很多教程一上来就让你pip install tensorflow这在Ubuntu上可能侥幸成功但在openEuler上极大概率会因为缺少系统级依赖如某些开发库而失败。先规划再动手是高效部署的第一原则。3. 系统级依赖的安装与配置规划好路线图后我们开始修筑“路基”——安装那些TensorFlow所依赖的系统级软件包。openEuler使用dnf作为包管理器兼容yum命令这是与CentOS/RHEL系相同的体验。3.1 基础编译环境与工具首先更新软件源并安装编译Python包所需的工具链。这些包提供了gcc、make、python3-devel等当pip安装某些TensorFlow依赖需要编译本地扩展时它们是必需的。sudo dnf update -y sudo dnf groupinstall -y Development Tools sudo dnf install -y python3-devel python3-pip openssl-devel libffi-devel bzip2-devel sqlite-devel这里有个小细节openEuler的软件源里python3-devel这个包名是固定的它提供了Python.h头文件和链接库。确保它被成功安装可以避免后续出现“找不到Python.h”的经典错误。3.2 Python环境管理强烈建议使用虚拟环境永远不要直接在系统的全局Python环境中安装TensorFlow这样庞大且版本敏感的包。这会导致包冲突、版本污染并且难以管理多个项目。我强烈推荐使用venv模块创建独立的虚拟环境。# 创建一个名为‘tf_openEuler’的虚拟环境 python3 -m venv ~/venvs/tf_openEuler # 激活虚拟环境 source ~/venvs/tf_openEuler/bin/activate激活后你的命令行提示符前通常会显示(tf_openEuler)表示你已经进入了这个隔离的环境。接下来所有pip安装的操作都只会影响这个环境与系统完全无关。退出虚拟环境只需输入deactivate。3.3 配置高效的pip镜像默认的PyPI源在国外下载速度慢且不稳定。将pip源更换为国内镜像能极大提升体验。我们创建一份pip配置文件mkdir -p ~/.pip cat ~/.pip/pip.conf EOF [global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cn timeout 120 EOF这里我使用了清华大学的镜像源。你也可以替换为阿里云(https://mirrors.aliyun.com/pypi/simple/)或腾讯云等镜像。这个配置是全局的对所有虚拟环境都有效。4. TensorFlow CPU版本的安装与验证我们先从更简单的CPU版本开始。这不仅能验证Python环境和基础依赖是否完好也能作为一个可靠的“安全网”——如果GPU版本安装遇到棘手问题至少有一个能工作的CPU版本可以用于调试和开发。在激活的虚拟环境中执行安装命令。为了确保版本兼容性我们指定安装2.10.0版本。pip install tensorflow2.10.0pip会自动解析并安装TensorFlow及其所有Python依赖如numpy,absl-py,protobuf等。这个过程会下载一个大约400MB的wheel包速度取决于你的网络。安装完成后进行一个最小化的功能验证。启动Python解释器python -c import tensorflow as tf; print(fTensorFlow版本: {tf.__version__}); print(fGPU是否可用: {tf.config.list_physical_devices(\GPU\)})如果一切顺利你会看到类似这样的输出TensorFlow版本: 2.10.0 GPU是否可用: []版本号正确并且GPU列表为空因为我们安装的是CPU版。这证明了TensorFlow的核心Python环境已经成功运行。你可以再写一个简单的脚本来做一个加法运算确保基础功能正常。实操心得第一次安装时我遇到了一个关于numpy版本的警告。TensorFlow 2.10.0要求特定版本的numpy~1.23但pip在解决依赖时可能会安装更新的版本有时会导致细微的不兼容。如果遇到运行时警告可以尝试强制安装指定的numpy版本pip install numpy1.23.5。这是深度学习部署中常见的“依赖地狱”问题保持版本锁定是关键。5. 为GPU加速铺路CUDA与cuDNN的部署这是整个过程中最具挑战性的一步也是决定GPU版TensorFlow能否成功运行的关键。核心原则是严格遵循版本匹配矩阵。5.1 步骤一验证与安装NVIDIA驱动没有正确的显卡驱动一切都无从谈起。首先检查驱动是否已安装nvidia-smi如果这个命令能正常执行并输出显卡信息、驱动版本和CUDA版本注意这里显示的CUDA版本是驱动支持的最高CUDA运行时版本不是你实际安装的版本那么驱动是OK的。记下你的驱动版本号例如525.105.17。如果命令未找到你需要安装NVIDIA驱动。在openEuler上可以通过dnf搜索来自ELRepo或NVIDIA官方源的驱动包。由于步骤相对复杂且依赖具体内核版本建议参考openEuler社区或NVIDIA官方文档。一个常见的做法是下载NVIDIA官方.run文件进行安装但需要提前安装kernel-devel包以编译内核模块。5.2 步骤二安装CUDA Toolkit 11.2我们不推荐通过dnf安装CUDA因为版本可能不匹配。最可靠的方式是从NVIDIA官网下载特定版本的runfile或rpm包进行离线安装。访问NVIDIA CUDA Toolkit存档页面找到CUDA Toolkit 11.2的下载链接。选择安装方式对于openEuler基于RHEL选择“rpm (local)”方式通常更便于管理。下载与安装# 假设下载的文件名为 cuda-repo-rhel8-11-2-local-11.2.2_460.32.03-1.x86_64.rpm sudo dnf install ./cuda-repo-rhel8-11-2-local-11.2.2_460.32.03-1.x86_64.rpm sudo dnf clean all sudo dnf install cuda-11-2安装过程会包含驱动吗在安装选项中如果系统已有驱动请确保取消勾选驱动安装只安装CUDA Toolkit。配置环境变量安装程序通常会提示你将CUDA路径加入环境变量。如果没有需要手动添加。编辑你的shell配置文件如~/.bashrcexport PATH/usr/local/cuda-11.2/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}然后执行source ~/.bashrc使其生效。验证安装nvcc --version这个命令应该输出CUDA 11.2的版本信息。5.3 步骤三安装cuDNN 8.1cuDNN是深度神经网络加速库需要从NVIDIA开发者网站单独下载需要注册账号。下载找到对应CUDA 11.2的cuDNN 8.1版本下载“Library for Linux (x86_64)”的压缩包例如cudnn-11.2-linux-x64-v8.1.1.33.tgz。安装这本质上是将库文件复制到CUDA的目录中。tar -xzvf cudnn-11.2-linux-x64-v8.1.1.33.tgz sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.2/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.2/lib64/ sudo chmod ar /usr/local/cuda-11.2/include/cudnn*.h /usr/local/cuda-11.2/lib64/libcudnn*验证检查库文件是否就位。ldconfig -p | grep cudnn踩坑记录最大的坑在于版本管理的混乱。我曾尝试安装CUDA 11.8和对应的TensorFlow 2.13但发现当时可用的预编译TensorFlow wheel包对CUDA 11.8的支持并不完善导致import tensorflow时出现libcudart.so找不到的诡异错误。教训是严格按照TensorFlow官网发布的、经过测试的版本组合来不要盲目追求最新。对于生产环境稳定性和可复现性远高于那一点点新版本可能带来的性能提升。6. TensorFlow GPU版本的终极安装与深度测试系统级依赖全部就绪后安装GPU版的TensorFlow本身反而很简单。6.1 安装命令与版本选择在之前创建的虚拟环境中如果已退出请重新激活卸载之前的CPU版本如果有然后安装GPU版本。TensorFlow的GPU版本包名通常是tensorflow但为了明确我们可以安装tensorflow-gpu在较新版本中这两个包名已合并。# 如果已安装CPU版先卸载 pip uninstall tensorflow -y # 安装指定版本的TensorFlowGPU版 pip install tensorflow2.10.0是的命令和安装CPU版时一样。因为pip包会根据系统环境自动选择是安装CPU还是GPU的wheel文件吗不完全是。实际上从TensorFlow 2.1以后官方发布的tensorflow包对应版本同时包含了CPU和GPU支持。它会在运行时自动检测CUDA/cuDNN环境。如果检测到且版本匹配就使用GPU否则就回退到CPU模式。所以我们只需要安装一个包。6.2 全面验证从导入到计算安装完成后进行一个比CPU版更全面的测试。import tensorflow as tf print(fTensorFlow 版本: {tf.__version__}) print(fKeras 版本: {tf.keras.__version__}) # 1. 列出所有物理设备 gpus tf.config.list_physical_devices(GPU) cpus tf.config.list_physical_devices(CPU) print(f\n可用的物理GPU: {gpus}) print(f可用的物理CPU: {cpus}) # 2. 如果检测到GPU打印其信息 if gpus: for gpu in gpus: details tf.config.experimental.get_device_details(gpu) print(f\nGPU设备详情: {details}) # 3. 执行一个简单的GPU计算测试 print(\n--- 开始GPU计算测试 ---) with tf.device(/GPU:0): a tf.constant([[1.0, 2.0], [3.0, 4.0]]) b tf.constant([[5.0, 6.0], [7.0, 8.0]]) c tf.matmul(a, b) print(f矩阵a:\n{a}) print(f矩阵b:\n{b}) print(fGPU计算结果c:\n{c}) # 将结果取回CPU并打印验证计算正确性 print(f取回CPU的c值:\n{c.numpy()}) else: print(未检测到GPU设备请检查CUDA和驱动安装。)这个脚本完成了四件事确认TensorFlow和Keras版本。列出所有可用的计算设备确认GPU被正确识别。获取GPU的具体信息如名称、计算能力。在GPU上执行一个实际的矩阵乘法运算并验证结果正确性。如果一切顺利你将看到GPU设备被列出并成功完成计算。输出中可能会显示你的GPU型号如Tesla T4和计算能力如7.5。6.3 可能遇到的问题与排查即使按照步骤操作也可能会遇到问题。以下是几个常见“症状”及其排查思路import tensorflow时报错libcudart.so.11.0: cannot open shared object file原因系统找不到CUDA的动态链接库。排查确认LD_LIBRARY_PATH环境变量是否正确包含了/usr/local/cuda-11.2/lib64。用echo $LD_LIBRARY_PATH检查。确认库文件确实存在ls /usr/local/cuda-11.2/lib64/libcudart.so*。运行ldconfig更新动态链接器缓存sudo ldconfig /usr/local/cuda-11.2/lib64。GPU设备列表为空但nvidia-smi正常原因1TensorFlow Python包安装的版本与本地CUDA版本不匹配。解决严格对照官方支持矩阵重装匹配的TensorFlow版本。原因2cuDNN未正确安装或版本不对。解决检查cuDNN文件是否复制到了正确的CUDA目录并确认版本是8.1.x for CUDA 11.2。警告Could not load dynamic library ‘libcudnn.so.8‘原因TensorFlow找到了CUDA但没找到对应版本的cuDNN。解决这是cuDNN安装路径问题的典型表现。确保libcudnn.so.8的软链接正确指向了你复制过去的文件。可以尝试手动创建软链接sudo ln -sf /usr/local/cuda-11.2/lib64/libcudnn.so.8.1.1 /usr/local/cuda-11.2/lib64/libcudnn.so.8然后再次运行ldconfig。7. 进阶配置与生产环境考量当基本的TensorFlow能够运行后为了在openEuler上获得更好的稳定性和性能还需要进行一些进阶配置。7.1 优化虚拟环境与依赖管理对于生产环境仅仅使用venv可能不够。可以考虑Conda环境如果项目涉及更复杂的、非Python的二进制依赖比如某些特定的科学计算库使用Miniconda或Anaconda来管理环境可能更强大。Conda可以同时管理Python包和系统库。在openEuler上安装Conda后创建环境的命令是conda create -n tf_openEuler python3.9。依赖清单固化使用pip freeze requirements.txt命令将当前虚拟环境中所有包的精确版本导出。这份文件是项目可复现的基石。在其他机器上部署时只需pip install -r requirements.txt即可。7.2 性能调优与监控GPU内存管理默认情况下TensorFlow会尝试占满GPU的所有可用内存。这在多任务共享GPU时可能有问题。可以在程序开头进行配置gpus tf.config.list_physical_devices(GPU) if gpus: try: # 设置内存动态增长避免一开始就占满 for gpu in gpus: tf.config.experimental.set_memory_growth(gpu, True) # 或者限制TensorFlow只能使用特定大小的GPU内存 # tf.config.set_logical_device_configuration(gpus[0], [tf.config.LogicalDeviceConfiguration(memory_limit6144)]) # 限制为6GB except RuntimeError as e: print(e)使用混合精度训练在支持Tensor Core的GPU如Volta架构及以后的T4, V100, A100等上使用混合精度fp16可以显著加速训练并减少内存占用。在TensorFlow 2.x中这非常简单from tensorflow.keras import mixed_precision policy mixed_precision.Policy(mixed_float16) mixed_precision.set_global_policy(policy)系统监控结合nvidia-smiGPU和htop或atopCPU/内存来监控训练时的系统资源使用情况。openEuler自带的dnf可以安装这些工具。7.3 容器化部署终极的隔离方案如果你觉得在裸机上管理CUDA环境太繁琐或者需要部署多个不同版本的环境那么Docker容器化是更优雅的解决方案。TensorFlow官方在Docker Hub上提供了几乎所有主流版本的、预配置好CUDA和cuDNN的镜像。在openEuler上安装并启动Docker服务后运行TensorFlow GPU版本只需要一行命令docker run --gpus all -it --rm tensorflow/tensorflow:2.10.0-gpu python -c import tensorflow as tf; print(tf.config.list_physical_devices(GPU))--gpus all参数将宿主机的GPU透传给容器。这种方式几乎完全屏蔽了底层系统的差异极大地简化了部署和迁移。对于生产环境的微服务化部署这是目前的主流方向。8. 总结与避坑指南回顾走完整个流程再回头看“在openEuler上部署TensorFlow”这件事你会发现核心难点并不在openEuler本身而在于深度学习软件栈固有的复杂版本依赖关系。openEuler作为一个健壮的企业级Linux发行版为运行这些软件提供了稳定的基础。最后我把最关键的经验和避坑点再浓缩一下版本版本版本这是成功的第一要素。在开始前务必花时间确定TensorFlow、Python、CUDA、cuDNN、NVIDIA驱动这五者的兼容版本组合。以TensorFlow官网的测试矩阵为基准不要随意混用新版本。虚拟环境是必需品无论多么简单的测试都请在虚拟环境中进行。这能为你节省无数清理冲突的时间。GPU环境部署的核心是路径90%的GPU相关问题都是因为CUDA/cuDNN的库文件路径没有被系统正确找到。确保LD_LIBRARY_PATH环境变量设置正确并定期使用ldconfig更新缓存。善用官方容器镜像如果你的最终目标是部署应用而不是研究系统配置那么直接使用TensorFlow官方Docker镜像是最快、最稳的选择。它把最麻烦的依赖问题都解决了。openEuler的“特殊性”相比CentOSopenEuler的软件源可能缺少一些非常小众的开发库。如果遇到dnf install找不到某个包的情况可以尝试在 openEuler社区 或通过dnf search查找替代包名或者考虑从源码编译该依赖。部署完成后你可以安心地在openEuler这个国产操作系统的坚实基础上开展你的AI模型训练、推理或应用开发了。这个过程虽然有些曲折但一旦打通你就会获得对深度学习底层环境更深刻的理解这种能力在解决未来更复杂的问题时会显得尤为宝贵。

相关新闻

【清华代码熊】总结|Kimi / GLM / DeepSeek后训练OPD算法

【清华代码熊】总结|Kimi / GLM / DeepSeek后训练OPD算法

📌 本期对比总结Kimi K3/ GLM 5/ DeepSeek V4 后训练On-Policy Distillation 算法。

2026/8/4 3:27:15 阅读更多 →
医学统计学在文化内容产业中的跨界应用

医学统计学在文化内容产业中的跨界应用

1. 医学统计学的跨界基因重组当临床研究中的双盲试验设计遇上电影票房预测,当生存分析模型开始解析短视频用户留存曲线,这种看似荒诞的学科跨界正在催生文化产业的第三次方法论革命。作为经历过医药研发全流程的统计建模师,我亲眼见证过医学统…

2026/8/4 3:26:14 阅读更多 →
Umi-OCR:解决文档数字化难题的离线文字识别完整方案

Umi-OCR:解决文档数字化难题的离线文字识别完整方案

Umi-OCR:解决文档数字化难题的离线文字识别完整方案 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库…

2026/8/4 3:26:14 阅读更多 →

最新新闻

Excel数据清洗实战:从函数到Power Query的完整流程与技巧

Excel数据清洗实战:从函数到Power Query的完整流程与技巧

1. 从“脏数据”到“干净数据”:为什么Excel数据清洗是每个职场人的必修课如果你在财务、市场、运营、人事或者任何一个需要和数据打交道的岗位上待过,那你一定遇到过这样的场景:从业务系统导出的销售报表,客户姓名和电话混在一个…

2026/8/4 4:00:31 阅读更多 →
[论文学习]SKILL-KD:面向LLM智能体的对比式技能蒸馏

[论文学习]SKILL-KD:面向LLM智能体的对比式技能蒸馏

SKILL-KD:面向LLM智能体的对比式技能蒸馏 论文重点 SKILL-KD提出了一种全新的对比式技能蒸馏框架,将技能视为显式的蒸馏媒介,通过在强弱智能体之间进行轨迹对比,将教师与学生的行为差异蒸馏为文本形式的“技能补丁”&#xff0c…

2026/8/4 4:00:31 阅读更多 →
统信UOS系统安装NVIDIA官方驱动实现稳定多屏显示完整指南

统信UOS系统安装NVIDIA官方驱动实现稳定多屏显示完整指南

1. 项目缘起:当国产系统遇上N卡多屏 最近在给一台搭载了国产统信UOS系统的开发机折腾多屏显示,遇到了一个挺典型的问题:系统自带的通用显卡驱动,在连接第二块显示器时,要么识别不到,要么分辨率、刷新率不对…

2026/8/4 4:00:31 阅读更多 →
Win10系统全局字体替换教程:安全使用苹方字体替换微软雅黑

Win10系统全局字体替换教程:安全使用苹方字体替换微软雅黑

1. 项目缘起:为什么要在Win10上折腾苹方字体?如果你和我一样,是个对屏幕观感有点“强迫症”的Windows用户,可能早就对Win10那套默认的微软雅黑字体审美疲劳了。尤其是在高分辨率屏幕上,雅黑字体在某些字号下会显得有点…

2026/8/4 4:00:31 阅读更多 →
Python异步与定时任务实战:Celery+Redis构建分布式任务队列

Python异步与定时任务实战:Celery+Redis构建分布式任务队列

1. 项目概述:为什么我们需要异步与定时任务在开发一个Web应用或者后端服务时,你肯定遇到过这样的场景:用户点击一个“生成报告”的按钮,然后页面就卡住了,转了半天圈圈,最后才弹出一个下载链接。或者&#…

2026/8/4 4:00:31 阅读更多 →
Python脚本参数传递全解析:从sys.argv到Click的工程实践

Python脚本参数传递全解析:从sys.argv到Click的工程实践

1. 项目概述:为什么参数传递是脚本的“灵魂”干了这么多年自动化脚本和工具开发,我越来越觉得,一个脚本写得好不好,看它处理参数的方式就能猜个八九不离十。你肯定也遇到过这种情况:自己写的脚本,过俩月再看…

2026/8/4 3:59:31 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →