news 2026/10/17 9:07:22

OpenCode实战指南:从安装到局域网访问的完整踩坑记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenCode实战指南:从安装到局域网访问的完整踩坑记录

最近我花了不少时间折腾 OpenCode,从最初的“这玩意儿到底怎么装”,到后来把 skills、本地模型、局域网访问全部跑通,中间踩了不少坑。今天这篇不写官腔,就是把这段时间的实操过程、踩过的坑,以及那些让我差点摔键盘的报错,全部摊开讲一遍。

OpenCode 是一个运行在终端里的开源 AI 编程助手,它能读取项目代码、执行命令、修改文件,可以接入多家大模型服务,也可以配置本地模型。如果你平时工作流重度依赖命令行,又想摆脱某个固定编辑器或固定付费工具的绑定,那 OpenCode 会非常适合你。这篇内容覆盖安装、模型接入、IDE 集成、Skills 扩展、局域网访问和常见报错排查,新手照着做能跑通,老手也能从里面找到一些我没在文档里见别人写过的细节。

1. OpenCode 是什么,为什么值得折腾

1.1 一个终端里的 AI 编程助手

OpenCode 不是某个大厂出的产品,而是开源社区里一个相当活跃的项目。它把自己定位成“终端里的 AI 编码助手”,你可以把它理解成一个跑在命令行里的结对编程搭档。它会读取当前项目的文件结构、内容,你通过自然语言告诉它你想干什么,它就能帮你写代码、改代码、跑测试,甚至执行终端命令。

和很多 IDE 插件不一样的是,OpenCode 没有把自己绑死在某个编辑器上。它本身就是一套独立的程序,你可以单独安装使用,也可以把它接到 VSCode、JetBrains 系列等编辑器里。项目文件、版本控制、目标识别这些事情它都能处理,所以你不需要先在 IDE 里打开项目,直接在终端里进入项目目录调用它就行。

它还有一个很多人没注意到的点:默认把数据保存在本地。对话记录、技能包、配置文件都在你自己的机器上,不强制上传到某个云端。对代码安全有要求的朋友,这点是很重要的加分项。

1.2 和 Cursor、Claude Code 这类工具有什么区别

很多人第一次听到 OpenCode 都会问:它和 Cursor、Claude Code 有什么区别?我简单列一下:

对比项CursorClaude CodeOpenCode
运行环境独立桌面应用终端 CLI终端 CLI + 桌面版
模型选择厂商绑定Claude 系列为主多家模型自由配置
扩展能力插件市场有,但相对封闭Skills 机制,较开放
数据存储云端为主云端为主本地方案为主
开源程度闭源闭源开源

Cursor 的优势是图形界面和沉浸式交互,Claude Code 在特定厂商模型下表现很强,但它们的共同问题是你被绑在特定生态里。OpenCode 走的是另一条路线:给开发者一个开放框架,用哪个模型、怎么扩展、怎么接入,都由你自己决定。

如果你属于“喜欢命令行高效操作”“对模型供应商没有强绑定需求”“想自己掌控数据和配置”这类人,OpenCode 会非常适合你。如果你更习惯鼠标点击、窗口拖拽的操作方式,也不是不能用,但它的核心价值在终端里发挥得最充分。

2. 安装:从一行命令到完整环境

关于安装,网上确实有很多说法。我实际验证下来,不同操作系统有各自推荐的路径,下面按平台拆开讲。

2.1 macOS 与 Linux 的快速安装

macOS 和 Linux 的安装比较简单,推荐直接使用官方安装脚本:

curl -fsSL https://opencode.ai/install | bash

这个脚本会自动识别系统架构,下载对应的二进制文件,并把可执行文件放到合适的位置。安装完成后,新开一个终端窗口,或者执行source ~/.bashrc(或source ~/.zshrc)刷新环境变量,然后运行:

opencode --version

能输出版本号就说明装好了。

如果你用 Homebrew,也可以这样安装:

brew install sst/tap/opencode

Linux 发行版如果是基于 Debian 或 RPM 的,官方也提供了对应的软件包,可以直接用自带包管理器安装。不过实测下来,官方脚本最省心,它会自动处理路径问题,基本不依赖额外的运行时环境。

2.2 Windows 与桌面版的安装

Windows 环境稍微特殊一点。如果你用 PowerShell,官方同样提供了安装命令:

irm https://opencode.ai/install.ps1 | iex

这里注意,PowerShell 的执行策略可能会拦截脚本,如果遇到,临时放开策略或者用管理员模式运行。另外,有相当一部分 Windows 用户实际是在 WSL 里跑 OpenCode 的,毕竟很多开发项目都在 Linux 环境里跑,这种方式我试过也比较顺,和 Linux 安装流程完全一致。

如果你想用图形界面操作,OpenCode 也有桌面版。桌面版本质上是把终端界面包装成了桌面应用,在项目列表、模型选择、历史会话管理上会比纯终端方便不少。官网和 GitHub Releases 页面都能找到对应系统的安装包。需要注意的一点是:桌面版和命令行版共用同一套配置和本地数据,这一点做得比较干净,两边切换使用不会丢上下文。

实操心得:Windows 用户如果本机是受限的网络环境或者公司电脑,安装脚本可能会被拦截。这时候优先考虑 WSL,不仅 OpenCode 用起来更流畅,其他开发工具链也更契合 Linux 习惯。

2.3 安装之后的初始化配置

装好之后第一次运行,推荐先执行一遍初始化和配置检查。运行opencode进入交互界面,它会自动检查可用的模型 Provider。如果你之前配置过相关环境变量,它会直接识别;如果没有,它会引导你进行配置。

OpenCode 的配置文件主要放在两个位置:

  • 全局配置:~/.config/opencode/下的配置文件
  • 项目配置:项目根目录下的opencode.json或opencode.jsonc

我建议先配置全局的 API Key,让所有项目都能直接使用。配置方式后面模型接入部分细说。

3. 模型接入与免费层限制

3.1 模型 Provider 配置的底层逻辑

OpenCode 支持多家模型服务,底层逻辑是统一的 Provider 接口。它可以通过环境变量读取 API Key,也可以在交互界面里选择并登录。常见的配置项大概这样:

export OPENAI_API_KEY="你的key" export ANTHROPIC_API_KEY="你的key" export OPENCODE_API_KEY="你的key"

设置好之后,启动 OpenCode,按快捷键调出模型切换,就能看到对应 Provider 的模型列表。

这里我建议把 API Key 放在 shell 配置文件里,比如.bashrc、.zshrc,而不是每次启动前手动 export。省事是一方面,另一方面 OpenCode 的多个工具链都会自动读取环境变量,不容易因为漏配某个变量导致奇怪的报错。

如果你是第一次用,不知道配哪家 Provider,可以先只配一个最常用的,把它跑通再说。不要一上来就把 OpenAI、Anthropic、Google、本地模型全部配上,遇到问题不好定位。

3.2 “free tier can only be used from within opencode” 报错是怎么回事

这个报错我在相关社区里看到很多人遇到,完整的报错是这样的:

error from provider (console): opencode's free tier can only be used from within opencode

先说结论:这是 OpenCode 对免费层使用的限制。OpenCode 官方会提供一些免费可用的模型额度,但这个免费额度只允许在 OpenCode 自己的客户端里使用。如果你把 OpenCode 配好的服务端点转发给其他客户端,或者通过第三方工具以 OpenCode 的身份去调用,服务端检测到请求不是来自 OpenCode 官方客户端,就会返回这个报错。

简单类比一下:这就像你办了张健身房会员卡,卡本身可以在所有连锁店通用,但“免费体验课”只能在办卡的那家店用,去别的店刷这个免费课就会被系统拦下来。

解决办法也很直接:

  • 如果你是在 OpenCode 客户端里正常使用,还报这个错,优先检查版本,升级到最新版一般能解决。
  • 如果你是希望通过其他工具调用 OpenCode 的模型服务,免费层走不通,需要订阅 OpenCode GO 或者其他付费服务获取独立的 API Key。
  • 如果是自己写的脚本在调用,检查请求头或者客户端标识有没有被识别为 OpenCode。

避坑提示:不要为了绕过这个限制去修改客户端标识或者伪造请求。这类做法容易违反服务条款,对个人项目来说完全没必要。真想跨客户端用,付费订阅解决,干净省心。

3.3 OpenCode GO 订阅的定位

热搜词里反复出现 “opencode go套餐”“opencode go订阅”,我一开始也搞不清它和 OpenCode 到底是什么关系。实际了解之后,可以简单讲清楚:OpenCode GO 是官方推出的订阅制模型聚合服务。

它和单独买某家模型 API 的区别在于:OpenCode GO 把多家主流模型聚合到一个订阅套餐里,你只需要一个订阅、一套 Key,就能在不同模型之间切换。对个人开发者来说,比分别充值几家模型 API 方便不少,也不容易出现哪家账户余额不足导致工作流中断的情况。

订阅之后,你会得到一个 API Key。在 OpenCode 里可以选 GO 渠道下的模型。它同样兼容 OpenAI 接口协议,所以在支持自定义 API 地址的工具里也能接入。

比如在 Codex CLI 里配置自定义模型端点,只要把 Base URL 指向 OpenCode GO 提供的地址,再填上你的 Key,就能把 Codex 也接进来用。这个配置方式在 OpenCode 官方文档里有详细说明,实际操作也不复杂,主要是四段内容:Base URL、API Key、模型名、请求头格式。

实操心得:订阅 GO 之前先确认自己的使用频率。如果只是偶尔用用 AI 辅助编码,直接按量付费反而更划算;如果几乎每天都在高强度使用,订阅套餐的稳定性和成本可控性更好。另外,订阅之后一定要把 Key 存好,不要直接写进项目代码里,万一推到公开仓库,别人就能拿你的 Key 到处刷了。

3.4 用 Ollama 跑本地模型

如果你对数据隐私有要求,或者想完全离线使用,可以用 Ollama 跑本地模型,然后接进 OpenCode。

Ollama 是一个本地模型运行工具,你可以简单地把它理解成一个“模型本地运行器”。安装 Ollama 后,拉取一个模型:

ollama pull qwen2.5-coder

然后启动本地服务(默认端口 11434),在 OpenCode 里把 Provider 配置成 Ollama,就能直接使用本地模型了。

OpenCode 对 Ollama 的支持比对其他本地模型工具更完整,因为它能自动识别 Ollama 的模型列表,不需要手动去填一堆模型名。配置好后切换到本地模型,OpenCode 就不会把代码发送到任何外部服务。

注意:本地模型效果取决于你的硬件配置,尤其是显存大小。我之前在一台 16G 内存、无独立显卡的笔记本上跑 7B 模型,速度勉强能用,但生成质量和大模型厂商的在线服务还是有差距。14B 以上模型体验更好,但硬件要求也直线上升。如果电脑配置一般,建议优先用在线模型,本地模型作为备用或者处理敏感代码时使用。

4. 把 OpenCode 塞进常用 IDE

4.1 VSCode 扩展搜不到 OpenCode 怎么办

很多人习惯在 VSCode 里用 AI 编程助手,但直接在扩展市场里搜索 “opencode”,大概率搜不到想要的结果。我有段时间也卡在这儿。

原因很简单:OpenCode 官方插件在 VSCode 扩展市场的名称和关键字设置不是特别好搜,而且它更新频繁,经常换名字或者以预发布版本存在。在当前版本中,比较靠谱的搜索词是直接搜 “OpenCode”(注意大小写)或者去 GitHub Releases 页面找 VSIX 文件手动安装。

手动安装方式:下载 VSIX 文件后,在 VSCode 的扩展面板里点右上角三个点,选择“从 VSIX 安装”。装好之后,快捷键Ctrl+Shift+P打开命令面板,找到 OpenCode 相关命令,登录或配置好 Key 就能在侧边栏里使用。

避坑提示:如果你看到某个插件叫 “opencode” 但发布者不是官方或未知账号,一定要看清楚再装。倒不是一定有恶意,而是配置项的字段名可能对不上,容易浪费时间。官方信息在项目文档的 Editor 集成章节里都有说明。

4.2 JetBrains 系与 PyCharm 的插件情况

JetBrains 系(IDEA、PyCharm、GoLand 等)也有 OpenCode 插件,但不是官方主推的方向,插件生态相比 VSCode 更弱一些。有些版本能直接搜索到,有些版本可能需要从插件仓库下载 zip 包再手动安装。

在 IDEA 里使用 OpenCode 插件,核心逻辑和 VSCode 一样:插件负责把编辑器的上下文传给 OpenCode,OpenCode 负责调用模型和生成代码。如果插件功能不完整,退而求其次的方案是,把 IDEA 的终端打开,直接在终端里跑 OpenCode,虽然交互不如插件无缝,但核心功能一样能用。

实操心得:就我个人的实际体验来说,OpenCode 在 JetBrains 上的插件成熟度是逐步提升的。如果你主要用 IDEA 写 Java,建议保持插件更新到最新。如果遇到插件面板空白或者不响应,先检查 OpenCode CLI 是否正常工作——很多插件问题本质上是 CLI 版本不一致导致的。

5. Skills 技能系统:给 OpenCode 加装“外挂”

5.1 Skills 到底是什么

Skills 是 OpenCode 比较特别的一个设计。你可以把它理解成一组“操作说明书”:每个 Skill 是一段结构化描述,里面写明了某个领域或任务的处理规则和步骤。当模型在处理相关问题时,会读取这段描述,按照里面的规则来执行。

举个例子,你写 Python 项目时希望 OpenCode 遵守 PEP8 风格,不光是格式,还包括命名规范、注释风格、类型标注习惯。如果每次都在对话里叮嘱一遍,很累也没法保证一致性。正确做法是把这些要求写成一个 Skill,然后在项目配置里启用,OpenCode 每次处理这个项目的代码时都会自动加载并遵守。

之前用过 Cursor 或 Copilot 的朋友可以把 Skills 理解为“自定义指令”的升级版,区别是它更结构化,支持放入复杂的分步流程和规则判断,而且可以按项目维度去启用和关闭。

5.2 怎么安装和使用 Skills

OpenCode 的 Skills 是一个基于文件的机制。每个 Skill 是一个目录,里面包含描述文件和可选的脚本。安装方式有两种:

一种是放到全局 Skills 目录,路径通常是~/.config/opencode/skills/,这样所有项目都能用:

mkdir -p ~/.config/opencode/skills/my-skill

另一种是放到项目目录的.opencode/skills/下,只对当前项目生效。我个人建议:通用技能放全局,项目专属技能放项目目录,避免全局技能过多导致模型每次都要读取大量不相关内容。

创建一个 Skill 的核心是写好描述文件,格式类似:

{ "name": "python-style-guide", "description": "Python 项目的代码风格规范,适用于所有 Python 文件的生成与修改", "instructions": "1. 变量命名使用 snake_case\n2. 函数需要类型注解\n3. 注释使用中文,关键逻辑必须写注释" }

保存后,在 OpenCode 对话界面输入/skills,就能看到已加载的技能列表,启用对应技能即可。

实操心得:刚开始写 Skill 时别贪多。先写一个最小可用的技能,比如“提交信息规范”,再用“写代码风格规范”。因为 Skill 文件会被作为上下文的一部分传给模型,写太多、太长反而会稀释重点,模型反而不一定遵守。

5.3 oh-my-opencode 这类聚合项目

热词里有 “opencode oh-my-opencode 运行”,这类项目是社区里爱好者攒的“技能包合集”,类似 Oh My Zsh 之于 zsh。它会帮助你一键安装一大批常用 Skills,包括代码审查、Git 提交信息生成、测试用例生成、文档撰写等。

安装这类聚合项目之前,先评估自己是否需要全部技能。我见过有人装了 50 多个技能,结果模型每次处理问题时都在大量无关技能描述里找相关信息,反而变慢了。我建议先装两三个高频使用的,比如代码审查和提交信息生成,用顺了再逐步加。

6. 进阶玩法:局域网访问、自动修 Bug 与多服务切换

6.1 用 opencode serve 在局域网里用

OpenCode 提供了一个serve模式,可以把它作为服务端运行起来,让局域网内其他设备访问。这个功能适合什么场景呢?比如你用一台高性能台式机跑模型,想用笔记本或者平板连过去操作;或者团队里几个人共享一台 GPU 服务器,不想每个人都在服务器上敲键盘。

启动方式:

opencode serve

默认情况下,它会开启一个 HTTP 服务,监听本地端口,同时输出访问地址。如果你要局域网内访问,需要监听0.0.0.0并指定端口:

opencode serve --hostname 0.0.0.0 --port 8123

启动后,局域网内其他设备可以通过http://服务器IP:8123访问。

注意:局域网服务默认没有鉴权,强烈建议只在可信网络里使用。如果必须跨网段,尽量配合防火墙限定来源 IP,或者用 SSH 隧道转发,不要把服务直接暴露到公网。OpenCode 读取的是你项目的代码,数据安全不是小事。

6.2 让它自己跑项目并自动改 Bug

很多人问 “opencode 怎么跑本地项目自动修改 bug”。我实际操作下来,一个比较稳的工作流是这样:

首先,在项目目录启动 OpenCode,让它先了解项目结构。然后快速定位 Bug:你可以让它读报错日志,或者直接让它运行测试命令:

请运行项目的测试用例,收集所有失败用例和报错信息

OpenCode 会读取配置并执行命令。接着把报错信息反馈给它:

根据这些报错,定位根因,并修改对应代码。修改后重新运行测试验证

因为 OpenCode 能读取项目文件,也能执行命令,所以它会自己读代码、改代码、跑测试,并根据测试结果进行下一轮修复,实现一个“发现问题→修问题→验证结果”的循环。

实操心得:自动修 Bug 的效果和项目本身的工程化程度直接相关。如果你的项目有完善的测试和明确的报错信息,OpenCode 的成功率会高很多。如果项目没有测试,报错也不规范,它多数时候只能做初步分析,还是要人来最终判断。另外,给它一个明确的任务边界很重要——不要让它一次改太多文件,容易改出一堆无关改动,回头 review 成本反而更高。

6.3 CC Switch 在多服务之间切换

CC Switch 是一个服务配置切换工具,它能管理多个支持 OpenAI 兼容接口的服务配置,让你在不同模型服务之间快速切换。热词里 “cc switch 连接 opencode 连接 ollama” 说的就是这个用法。

我的配置流程是:在 OpenCode 里配置好多个 Provider,包括在线模型和 Ollama 本地模型;在 CC Switch 里维护多套服务配置;需要切的时候,在 CC Switch 一键完成切换,不需要反复编辑环境变量。像 Ollama 这种本地服务,本身也是一个 OpenAI 兼容接口,把地址填成http://127.0.0.1:11434,模型名填 Ollama 里的模型名,就能被 CC Switch 统一纳管。

这个工具适合多服务重度使用者。如果你长期只用一家模型,完全没有必要加这一层,直接在 OpenCode 里切换即可。

7. 常见报错排查与避坑心得

7.1 报错排查速查表

这段时间我积累了比较多报错案例,整理成一张表,方便对照定位:

报错/现象可能原因解决思路
free tier can only be used from within opencode在非 OpenCode 客户端使用免费层使用官方客户端,或订阅 GO 获取独立 Key
模型列表为空/一个模型也没有API Key 未配置或配置错误检查环境变量是否正确加载,重新登录 Provider
安装脚本执行失败网络受限或路径冲突改用包管理器安装,或检查网络环境
VSCode 扩展搜不到关键字不对或版本过旧去 GitHub Releases 手动下载 VSIX
局域网访问不了监听地址或防火墙配置问题确认监听 0.0.0.0,检查防火墙端口
修改文件后没有生效权限或工作目录问题确认 OpenCode 有目录写权限,项目路径正确
Skills 不生效目录放错或格式错误确认 Skills 目录路径,检查 JSON 格式

这个表只是高频问题的索引,具体到每个问题,还是要结合日志去查。OpenCode 的日志位置一般在本地数据目录下,遇到报错先翻日志,比瞎猜快得多。

7.2 归档对话与历史记录去哪了

热词里有人问“opencode 归档后去哪了”“opencode 归档的对话到哪了”。这个问题其实很简单:OpenCode 的会话记录默认存储在本地。Linux 和 macOS 通常在~/.local/share/opencode/,Windows 在用户数据目录下。里面有会话文件、消息记录、项目关联信息。

归档操作本质上就是把会话移动到本地归档目录,不会删除。想恢复,只需要在对话列表里找到归档入口,可以看到归档的会话。如果磁盘空间充裕,不建议频繁清理这些记录,因为后续搜索历史方案时,这些记录很有价值。

避坑提示:如果你重装系统或者更换电脑,记得把配置目录和会话目录备份一下。很多人以为这些数据在云端,换台机器登录就没了,实际 OpenCode 不强制同步这些数据,换机是要手动迁移的。

7.3 数据安全相关

关于数据安全,我的看法是:OpenCode 本身的开源属性决定了你可以在完全离线的环境里使用它。只要模型走 Ollama 或其他本地模型,你的代码就不会离开本地机器;如果使用在线模型,代码会发送给对应模型服务商。在项目涉密或客户敏感的场景里,务必确认模型 Provider 是谁,数据会被送到哪里。

另外,OpenCode 的命令执行能力很强,它可以直接运行终端命令,所以不要让它在你不了解的项目里自由发挥,尤其是rm、git push、数据库变更这类高风险命令。给它的权限边界,要和你自己敲命令时的谨慎程度保持一致。

最后分享一点个人体会

用 OpenCode 这段时间,最大的感受是:它不只是一个“能聊天的代码工具”,更像一个真正的工具箱。你可以按自己的习惯去塑造它的行为,从模型选择、Skills 设计到接入编辑器的方式,自由度很高。但也正因为自由度高,初期配置会比开箱即用的商业工具麻烦一点。

我建议新手第一次用,不要在配置上花太多时间。先选一个最熟悉的模型,跑到“能改代码、能跑命令”的状态,然后再逐步深入 Skills、服务订阅、局域网部署等进阶功能。还有一个建议是,项目里加一个只属于本项目的 Skill 文件来记录团队的代码规范、常见项目结构和约定,这个长期价值会越来越大。

最后再分享一个小技巧:OpenCode 的配置文件是支持注释的,养成在配置里写注释的习惯。因为配置项不少,过两周你自己都可能忘了某个字段是干嘛的,更别说换电脑后重新搭环境的时候了。留几行注释,省下的时间远超写注释的成本。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 9:07:02

Superpowers实战:给Codex CLI装上可复用的AI编程技能包

最近很多人问我:为什么同一个 Codex,别人用得跟资深架构师一样,我用起来就是个打字机?答案往往不在模型本身,而在你给它的"辅助装备"。我最近在项目里全面用上了一套叫Superpowers的技能扩展框架&#xff0c…

作者头像 李华
网站建设 2026/10/17 9:06:01

Flink非对齐快照原理与高反压优化实战

1. 项目概述:为什么“非Barrier对齐”不是玄学,而是高反压场景下的务实选择Flink的非Barrier对齐(Non-Barrier Alignment)这个说法,其实业内并没有一个官方术语叫这个名字——它本质上是对Flink Checkpoint机制中Barri…

作者头像 李华
网站建设 2026/10/17 9:04:25

Spring Boot运输管理系统全解析:从架构设计到二次开发实战

简介:这是一套基于Java的TMS运输管理系统源码包,面向运输企业信息化建设者和Java后台开发学习者,覆盖订单管理、路线规划、车辆调度、成本控制、货物追踪、报表分析及外部系统接口等典型物流业务模块。压缩包为zip格式,大小74.39M…

作者头像 李华
网站建设 2026/10/17 9:04:24

postman-mcp-server实战:让AI直接调用Postman集合接口

这段时间我一直在折腾一件事:让AI助手直接调用我Postman里沉淀下来的接口集合。注意,这里并不是让AI帮我生成一段调用接口的代码,而是让AI通过MCP协议,直接去执行集合里的真实请求、拿回响应体,再基于响应内容继续做分…

作者头像 李华
网站建设 2026/10/17 9:04:23

Cisco Packet Tracer实战:从零搭建企业办公网络全流程

刚学完计算机网络原理的人,多半都有这样的体验:OSI七层模型背得滚瓜烂熟,IP地址分类、子网掩码计算张口就来,可一旦拿到一台真实设备,让你把两台电脑配通,瞬间就卡住了。这不怪你,因为课本讲的是…

作者头像 李华
网站建设 2026/10/17 9:04:15

PyTorch张量type()方法详解:类型转换、区别与避坑实践

1. 先搞懂 type() 到底在干什么很多人刚接触 PyTorch 时,都在张量操作上栽过跟头,尤其是数据类型这块。明明两个张量数值一模一样,一相加就报错,一看报错信息:Expected dtype int64 but got dtype float32。这种时刻&a…

作者头像 李华