标签: AI

一个人、一款 App、一个月:从 DoseLoop 看 AI 时代 OPC 的可能与边界

最近,我做了一款 App,叫 DoseLoop,中文名叫“用药有数”,主要功能是用药提醒和服药记录。目前已经上架了 App Store 和 Google Play。

这件事本身不算什么大事,一个用药提醒 App,也不是多么复杂的产品。但让我感受比较深的是,这个 App 从最初的想法,到产品设计、开发完成、App 备案,再到最后上架应用市场,大约只用了一个月,而且基本上是我一个人借助 AI 完成的。

所以,我也想借这个小产品,谈谈我对 AI 时代 OPC(一人公司)的一些感受。

我做 DoseLoop 的原因很简单,就是我自己有时候会忘记吃药。

这并不是说我不重视健康,而是很多时候,提醒响了,但当时正好在忙,心里想着等会儿再吃,结果后面就忘了。早上赶着出门,工作中开会,或者手头正好有别的事情,这些场景都很常见。等到晚上想起来时,药可能还在包里,或者药盒还放在桌上。

我之前也用过一些用药提醒类 App,但总觉得不太满意。有的提醒时效性有问题,响过一次就结束了,后面用户是否真的吃了药,并没有形成闭环;有的提醒又太强烈,给人的感觉像是在被催促,反而产生压力;还有一些 App 的 UI 和交互体验不太好,用起来并不舒服。

所以,我当时就在想,用药提醒这件事,看上去只是一个通知功能,但实际上并没有那么简单。真正重要的不是“通知有没有发出”,而是“用户是否真的完成了服药动作”。

从产品设计的角度看,这里面有一个很重要的矛盾:用药提醒需要闭环,但也需要克制。

所谓闭环,就是不能只在某个时间点响一下,然后就结束了。因为用户看到提醒,只是产生了吃药的意图,并不代表已经完成了吃药这个动作。意图和行动之间,经常隔着一段距离。可能是五分钟,也可能是一场会议,也可能是一整天。

所谓克制,就是提醒不能太粗暴。用药这件事,本身就和身体、疾病、压力有关,如果一个 App 的提醒方式太强硬、太频繁、太像命令,用户未必会更愿意执行,反而可能会想关掉提醒。

这里面其实有一些心理学依据。

第一个是认知负荷。人在忙碌状态下,大脑里同时处理很多事情,一些重要但不紧急的事情,很容易被延后。吃药就是典型的这类事情。它很重要,但在某个具体时刻,可能会输给出门、会议、工作、电话、消息和各种临时任务。

第二个是意图和行动之间的距离。很多提醒工具默认,提醒发出就算任务完成了。但真实情况是,看到提醒只是第一步,用户真正完成服药才是最后一步。如果中间没有持续的机制,就很容易断掉。

第三个是心理反抗。人对过度强制的提醒,天然会有抵触。特别是一些本来就带有压力的事项,如果提醒设计得不好,用户感受到的不是帮助,而是被控制、被催促。

所以,DoseLoop 的核心设计,不是单纯把提醒做得更强,而是让提醒在一段时间内持续存在,直到用户确认,同时尽量保持温和。

比如,DoseLoop 支持设置追踪时间窗口,可以设置 30 分钟、1 小时、2 小时、直到确认。在这个时间窗口内,App 会关注用户是否确认服药,而不是提醒一次就消失。

它也支持记录服药状态,包括已服用、已跳过、已漏服。这样,提醒就不是单向通知,而是形成了一个完整的服药记录闭环。

另外,DoseLoop 还支持不同提醒强度,比如温柔提醒、平衡提醒、强提醒。因为不同用户、不同药物、不同生活场景,对提醒强度的需求是不一样的。不是所有人都需要强提醒,也不是所有时候都适合强提醒。

在 UI 和交互上,我也希望它尽量克制,不要让用户觉得自己被管理、被监督、被惩罚。一个好的用药提醒 App,应该更像一个可靠但安静的助手,在你忘记的时候还在,但不会责备你。

这就是 DoseLoop 的产品出发点。

接下来就是做产品。

从时间上看,整个过程大约用了一个月(5月19日-6月17日,手里有其他主要工作,运用空隙时间)。产品开发大约用了两周多,注册 App Store 和 Google Play 开发者账号,准备应用市场的文字、图片素材,制作宣传视频,大约用了一周多。App 备案也用了大约一周左右。

整个过程基本都是我一个人完成的,并且大量使用了 AI 工具。

App 产品本身的开发,我主要使用了 CodeX、Claude Code、Antigravity,没有手写一行代码。这些工具在需求拆解、代码生成、功能实现、问题排查上都起了决定性作用。特别是现在的 AI 编程工具,已经不是简单的代码补全,而是可以覆盖完整功能的实现过程。

DoseLoop 的 Landing Page 是用 Claude Code 做的。以前做一个产品官网,虽然不算很复杂,但也需要前端开发、设计调整、内容组织,现在借助 AI,基本上一个人就可以完成第一版。

App的Logo、隐私条款、应用商店需要的文案,以及大量图片素材,我主要借助 ChatGPT 和 ChatGPT Image 完成。宣传视频则使用 Gemini 的 Veo 生成。

当然,这并不是说 AI 一键就把所有东西做好了。实际过程里,人还是要不断判断、修改、筛选和调整。AI 可以生成很多内容,但哪些能用,哪些不能用,哪些符合产品定位,哪些表达不准确,最终还是要自己决定。

但无论如何,AI 确实把一个人的能力半径放大了。

过去,一个 App 从 0 到上线,至少需要产品、设计、开发、测试、文案、市场、视频制作、合规等多个角色参与。现在,一个人借助 AI,可以把这些基础工作串起来,先做出一个可用版本。

这就是我这次最直观的感受。

DoseLoop 从一开始也是面向全球用户设计的,目前已经支持英语、中文、西班牙语和日语,后续还会增加葡萄牙语、德语、法语等更多语言。

在过去,多语言支持是一件比较重的事情。它不只是翻译几个按钮,而是包括产品界面、应用市场文案、关键词、截图文字、隐私条款、宣传素材等一整套内容。现在借助 AI,增加语言版本的成本明显降低了。虽然仍然需要人工检查和调整,但相比以前,门槛已经低了很多。

所以,从产品实现的角度看,我认为 AI 时代的 OPC 是完全有可能的。

OPC,也就是 One Person Company,一人公司。过去我们讲超级个体,更多是在内容创作、咨询服务、软件工具等方向。现在因为 AI 编程、AI 设计、AI 文案、AI 视频工具的成熟,一个人做一个完整 App,并不是不现实。

但这次经历也让我看到,AI 让产品开发变快了,并不代表所有事情都变简单了。

真正麻烦的部分,很多反而不在代码里。

比如公司资质、银行账号、开发者账号、主体认证、支付资料等问题,这些都是非常现实的问题。代码有 bug,可以调试;图片不好看,可以重新生成;文案不合适,可以修改。但公司资质和银行账号这些事情,涉及现实世界的规则和流程,并不是 AI 能直接替你解决的。

还有应用商店素材,也比我想象中更耗时间。App Store 和 Google Play 需要大量内容,应用名称、副标题、简短说明、完整描述、关键词、截图、置顶图、隐私说明、多语言版本、不同尺寸素材等等。即使用 AI 生成,也依然要花很多时间去整理、筛选、修改和上传。

所以,AI 并没有消灭工作,只是改变了工作的形态。

更重要的是,产品上线以后,并不代表商业就成立了。DoseLoop 现在已经上线 App Store 和 Google Play,但目前还没有下载量。这一点我觉得很有必要坦诚说出来。

因为它正好说明了 AI 时代 OPC 的边界。

从产品角度看,这次确实是一次完整的一人公司实践。我一个人借助 AI,在一个月左右完成了产品设计、开发、备案、官网、应用市场素材、宣传视频、多语言支持和上架。

但从商业角度看,这件事还没有被验证。没有下载量,就意味着用户还没有被触达,市场还没有感知到这个产品,产品价值还没有被真实用户验证,商业化更谈不上成立。

这并不是失败,而是一个真实的起点。

以前做产品时,我们经常会把“能不能做出来”看得很重要。但这次做完以后,我更加清楚地感受到,做出来只是第一步。

App 上架,只是获得了被下载的资格,并不代表自然会有人下载。现在不是缺产品的时代,而是缺注意力的时代。一个新 App,即使功能做得完整,设计也还可以,也很容易淹没在应用市场和社交媒体里。用户不知道它存在,就不会下载。用户没有建立信任,就不会长期使用。用户没有感受到足够价值,就不会付费。

特别是 DoseLoop 这种用药提醒产品,虽然它不是医疗诊断工具,但毕竟和健康管理有关。用户会关心提醒是否稳定,数据是否安全,产品是否可靠,是否值得长期使用。这些信任,不是靠几张 AI 生成的图片和几段应用商店文案就能建立的。

所以,AI 可以提高生产效率,但不能自动解决分发问题。

做出产品,解决的是生产问题。

获得用户,解决的是分发问题。

留住用户,解决的是价值问题。

让用户付费,解决的是商业问题。

AI 对第一个问题的帮助最大,对后面几个问题也有辅助,但不能替代真实市场的验证。这也是我对 AI 时代 OPC 比较冷静的看法。

从产品实现角度,OPC 已经非常可行。一个人借助 AI,可以更快地做产品,更快地上线,更快地完成过去需要多人协作才能完成的基础工作。

但从商业成功角度,OPC 仍然很难。

AI 降低了产品从 0 到 1 的门槛,但没有取消市场竞争,也没有取消用户获取成本,更没有取消商业模式验证。甚至,AI 可能还会带来一种错觉:因为做产品变快了,所以做成一门生意也会变快。但这两件事并不是一回事。

在我看来,AI 时代 OPC 最大的价值,不是让一个人轻松做成一家公司,而是让一个人可以更低成本地验证一个真实问题。过去,很多想法可能还没开始就结束了。没有团队,没有预算,没有设计师,没有工程师,不知道怎么上架,不知道怎么做素材,也不知道怎么做多语言。现在,这些门槛都降低了。一个人可以先做出 MVP,先上线,先看看有没有人需要,先测试市场反应,再决定是否继续投入。

这已经是很大的变化。

DoseLoop 对我来说,就是这样一次实验。

它证明了一件事:一个人借助 AI,确实可以在很短时间内完成一个完整 App 的产品链路。

但它也提醒我另一件事:产品上线不等于商业成功,全球多语言不等于全球增长,AI 生成内容不等于市场分发,一个人能把产品做出来,不等于一个人能轻松把产品做成。

所以,如果问我 AI 时代 OPC 是否可行,我现在的答案是:

从产品实现角度,可行。

从商业成功角度,不确定。

AI 让 OPC 更容易开始,但并没有让 OPC 更容易成功。

DoseLoop 现在刚刚走到这个阶段。产品已经上线,真正的验证才刚开始。

最后,欢迎下载使用DoseLoop · 用药有数

Apple App Store

Google Play

Android APK下载

2025,我的第10个年度总结

这是我第10年,在自己的微信公众号上发布个人的年度总结。10年时间,宛如白驹过隙。

2025这一年,围绕的主题,还是AI。DeepSeek-R1在1月份横空出世,在春节期间,着实大火了一把,自媒体上一阵狂欢,言必说DeepSeek,让很多之前对AI无感的大众,对AI有了认知,当然也降低了对潜在客户的教育成本。

到3、4月份,客户就已经积极的开展基于DeepSeek等AI大模型的应用立项,我们也随之动起来,开发这些项目,所以大约从5月份开始,我就非常忙,周末大部分时间也是在开发,一直忙到了年底,这几个项目都完成上线了,使用效果还需要进行后续的跟踪。

这几个月的开发,从开始的AI Copilot到后面已经完全是Vibe Coding,深刻的感受到AI编程能力的突飞猛进,我今年开发的项目,前端完全由我一个人完成,用到了React(Next.js)、Vue、微信小程序的原生TypeScript,UI框架就用了5个,Ant Design、Ant Design Mobile、Vant、Naive UI、TDesign,如果没有AI辅助,很难在短时间内交付。AI编程工具更是百花齐放,从GitHub Copilot到Cursor、Windsurf、Antigravity,以及国内出品的TRAE、CodeBuddy、Qoder,还有命令行的Google Gemini CLI、Claude Code、Codex CLI,老牌IDE JetBrains的JetBrains AI和Junie,这些产品大部分我都体验过,最后一直使用的是JetBrains里的GitHub Copilot插件、JetBrains AI和Antigravity,而且Antigravity用的越来越多,特别是在开发前端应用时。

2025年被公认为AI从“工具时代”向“智能体(Agent)时代”全面跨越的一年。这一年,各大巨头均发布了具有里程碑意义的模型。OpenAI的GPT 5、5.1、5.2,Anthropic的Claude 4 系列,以及后续4.5 Opus、4.5 Sonnet,xAI的Grok 3、Grok 4,Google Gemini的2.5和3,其中Google Gemini 3 Pro最为抢眼,在各种基准测试中领先,而且从使用上也明显感觉要优于之前的模型以及其他竞争对手,在编程方面,Claude 4.5肯定是最强。开源模型方面,除了国货之光的DeepSeek,Meta发布了Llama 4,以及阿里的Qwen 3,由于Llama 4不及预期,2025年9月,Qwen在 Hugging Face 上的下载量正式超越 Llama,成为全球下载量最高的开源模型。2025 年,AI 大模型在“推理更强、多模态/具身加速落地、开源与端侧部署并进、成本快速下探”的驱动下呈现百花齐放的繁荣格局,同时头部与新势力同场竞速,竞争显著加剧、迭代节奏全面提速。

这一年,除了感受到AI的能力越来越强,也感受到AI的应用落地并不如理想中那么好,上半年由于DeepSeek的火爆,各行各业都在围绕DeepSeek讨论应用,但到了下半年,会明显感受到大家都冷静下来了,Demo演示不错,但到了实际业务场景上,却形成了巨大的落差。大部分的AI应用,多集中在泛娱乐的场景中,写个自媒体文案、画个图、做个PPT还可以,稍微复杂一些的业务,根本无法支撑,不是所有人每天都在做调研写PPT吧。举个例子,我在6月份时买了一台洗烘一体洗衣机,在11月份时候,烘干的风机坏了,维修后,烘干功能没用几次,到12月份又坏了,我就要求换新,因为我第二次报修的时间只超过了换新质保期2天,而且是经过一次维修后又是同一个故障,所以商家同意给我换新。这是一个非常典型的客服场景,客服也是AI应用最多的场景,但这个问题如果用AI客服机器人,是无法解决的,就算最智能的AI客服,会通过工具查询我的订单日期、质保时间,以及通过RAG查询质保政策,最后告诉我的肯定是由于换新质保期超过时效,只能给我再次维修,无法换新,AI永远无法做到真正的情感交流,以及在制度外的操作弹性。目前AI应用最成熟,最可见到效果的的领域就是AI编程了,媒体上说是“智能体(Agent)时代”全面跨越,但实际上,大部分的AI Agent都未解决实际业务问题。

全社会都在讨论AI替代,也就是很多工作会被AI替代掉,但我认为,无论AI如何发展,商业的核心价值仍然是人,拿AIGC(人工智能生成內容)来说,我之前的总结里说过很多次,优质的内容具备持久的生命力和商业价值,但在面对海量AI生成的文本、图片、视频等,那些独具匠心、打动人心的内容,还是凤毛麟角,因为具备能持续产生独到创意的人,还是极少数,也就是处在人才金字塔顶上端的人是少数,输出优质内容(包括产品、服务)靠的还是人的认知、思想和品味。AI只是工具,在优秀的人手里运用,会出现几何倍产出的效应,但对一般人来说,未必能发挥出更高的价值。老板们说,AI来了,以前10个人的团队,现在要裁掉5个,但实际上呢,这10个人干的活,本身5个能力好点的人就能干好,甚至都不需要5个人,而在AI的加持下,其产出会更多、质量更好,所以对于老板们来说,还是要找到本行业中的那些佼佼者,而AI又会把这些人本身的能力放大。我去年总结的时候说过会出现更多的超级个体,这些人本身就能力出众,掌握AI能力后成为了超级个体。AI可以替代简单重复的工作,但不能替代那些天马行空的想象力和创造力,也替代不了那些触动内心的情感,以及那些细微敏锐的直觉。普通人需要做的就是学习AI,在自己的行业领域里精进,做到三会二能(会思考,会表达,会提问,能总结,能抽象)。

今年读书的时间太少,只读了2本书,分别是《ChatGPT进阶:提示工程入门》、《鸿蒙开物:终端操作系统的破晓之路》,很多时间我都用来观看AI相关资讯的视频和播客,了解AI行业内最新的动态和后面深度的解读。今年英语学习断断续续,在背单词的“扇贝网”上的打卡记录是3008天。

今年有一件大事,就是我儿子的高考,在元旦节后,儿子参加了上海市的春季高考,正常发挥,分数还算可以,鉴于他语数外之外的小三门比较弱(春考只考语数外三门),所以决定报春考的学校,在3月份,被上海本地一所双一流大学的工科专业录取,所以3月份之后,我们都轻松了,儿子也不用参加6月的秋考,玩了好几个月,9月份正式开启了大学生活。

在大学开学前,我们一家又去日本关西旅游了一周,这次去了和歌山、白滨、姬路、神户、宇治、奈良等地。这一年我还在小红书上还是做自媒体(Tim的旅行与生活),分享日本旅行攻略,积累了3千多个粉丝。不过年底中日关系遇冷,日本出境游市场将受到打击,旅游行业–这个我曾经从事了10年的行业,受影响的因素实在太多了。

2026年,希望公司业务发展、项目研发都顺利,希望儿子扎实学业,家人都身体健康。

父亲已经离去我们3年了,我们都很想念他,希望他在天堂安好,也保佑我们全家人。

封面图片:日本白滨千畳敷,拍摄于2025年9月8日。

2024年度总结

今年又是我创业的一年,也是AI创业的一年。

去年的时候,我已经决定投身这次AI技术革命,并一直在寻找方向,在上半年时,我MBA的同学,和我讨论AI的创业方向,在多个方向中,确定了以广告营销创意作为方向,并与广告行业的资深人士深入交流,大家一拍即合,决定用AI来重塑广告创意,为营销提供AI创新生产力。

说干就干,从5月份我开始进行AI广告创意工具的研发,一边梳理广告业务流程,一边做。最开始,我用Dify快速搭建系统来验证业务流程的可行性,可行性是没什么问题,但Dify对我来说,限制太多了,1个月后,我就用LangChain+Next.js,全新构建一套系统,进展比较顺利,到7、8月份,系统的主要功能都成型了,包括基本的对话、AI搜索工具、生图、RAG知识库,以及核心的广告创意工作流,9月份我们的新公司(上海回声杨数字科技有限公司)工商注册完成,系统完成上线部署,开放给合作伙伴进行试用,并不断的迭代改进,11月19日,我们正式对外发布广告创意AI产品——Echo回响。

2024这一年,我深刻的感受到AI在高速进化,并已经切切实实的在改变我们的工作与生活。就拿我们这款产品的研发过程来说,其技术栈与我之前擅长的Java体系完全不同,需要用Python、React、PostgreSQL,Python虽然以前写过,但也不算精通,React、PostgreSQL几乎是没有用过的,但我还是一个人将整个系统写出来了,其完全得益于AI工具的辅助,具体来说,就是GitHub Copilot,它快速生成大量代码,同时,我遇到的95%以上问题,都是它帮我解决的,可以说,在GitHub Copilot的辅助下,我一个人完成了以前需要一个团队完成的事情,这就是AI的力量。

2024年3月份,红杉美国举办了AI Ascent 2024活动,红杉合伙人Konstantine Buhler提出,AI 主要是一场生产力革命,生产力革命有个共同的模式,由最初的人使用工具,到人配合机器工作,再到人与机器网络协作, 生产力革命意味着大幅降低成本,标普 500 公司创造 100 万美元收入所需的员工数量正在迅速下降,这种变化意味着我们将能以更快的速度和更少的人力来完成工作,AI将会让成本进一步降低。 未来的公司可能像神经网络一样运作,在整个网络层面进行人机交互和优化,并催生更多一人公司(超级个体)。

结合我的感受,在AI时代,确实会出现更多的超级个体。但要成为超级个体,需要观念与意识的转变 ,具备持续的学习能力,善于思考,善于用语言表达,要三会二能,即会思考,会表达,会提问,能总结,能抽象,而且本身能力强的人更容易成为超级个体。超级个体的出现,对现有组织也会产生深远的影响,组织形式会发生变化,由雇佣关系变成合作关系;企业最高层(老板、决策者)的需要转变观念,推动AI变革;拥抱人工智能的公司的竞争优势将继续上升。我们的公司也将致力于为客户赋能,打造超级个体以及由超级个体组成的新型组织体系。

这一年,因为投身AI时代感到兴奋,同时也非常焦虑,生怕在这个时代被落下,但接触了很多客户、朋友、同学后,发现绝大多数人,并没有对AI的深入认知,虽然他们听说过ChatGPT、Midjourney、豆包,但实际上用来提升自己工作效率的并不多,特别是在一些行业领域,还是在使用互联网的方法,甚至是一些非常传统的方式运营业务,连数字化都谈不上,另一方面,把AI当成生产力工具,还是需要一些能力的,虽然网上有很多AI教程,但鱼龙混杂、参差不齐,其中也不乏割韭菜的。真正运用好AI,绝不是表面的技能,而是需要对自身业务的深刻理解,具备我之前所说的三会二能(会思考,会表达,会提问,能总结,能抽象),能将自己所做的事情,进行高度的抽象,形成方法论和思维链,让AI学习到这套方法,从而成为自己的Agent,来自主工作。传统行业有大量的业务值得用AI来改造,可以让效率成倍的提高,这确实是一场生产力的革命,这也是我们选择AI应用层创业,希望改造传统行业的根本原因。

今年读的书比往年少,吴军博士的《脉络》、王志纲的《格局》、吴晓波的《茅台传》、《我看见的世界:李飞飞自传》、《乔布斯商业创新底层逻辑》、《情绪价值》,其中《情绪价值》很值得读一下,在目前各行各业内卷的环境下,如何在使用价值之外给用户提供情绪,可能决定了自己的产品是否能脱颖而出的关键。今年还写了几篇文章,分别是《萝卜快跑真的砸了底层劳动者的饭碗吗?》《当程序员沦为外卖员:电影〈逆行人生〉带给我们的思考》《瓜子 vs 天天拍车:一次卖车体验的对比与思考》,是我对人工智能、当下环境、产品体验以及商业模式的观察和思考。英语学习还在继续,在背单词的“扇贝网”上的打卡记录是2885天。

这一年,健身也在坚持,几乎每天都进行有氧操,并配合力量训练,体重基本维持在67-69公斤,在5-6月份天气好的时候,每周都会跑一个10km,健身已经成为一种习惯,会一直坚持下去。

今年家里迎来了新成员——两只可爱的小猫,在我工作的时候,会在跳到我的桌子上,或是在在我的电脑前面睡觉。虽然我正式成为了一名“铲屎官”,但这一切却为家庭日常增添了不少温暖和乐趣。

今年,儿子已经高三,还有不到半年就要迎来他人生中最重要的一次考试,希望他坚持到底,不负努力,考上理想的大学。也希望,在2025年,我们AI创业公司能发展顺利,为更多客户提供价值。希望家人都身体健康。

2025年1月2日,父亲就已经离开我整整两年了,但我还是会时不时的梦见他,希望他在另一个世界里一切安好,福佑我们全家。

封面图片:崇明岛家乡的稻田,拍摄于2024年10月2日。

在pyenv环境下安装支持Mac M1芯片的TensorFlow

从TensorFlow v2.5开始,可以通过tensorflow-metal PluggableDevice使用Mac M1芯片的GPU加速训练。

一般情况下,只要按照苹果“Getting Started with tensorflow-metal PluggableDevice”文档中的步骤安装即可,但我的M1芯片MacBook Air中安装了pyenv,pyenv 是一个 python 版本管理工具,可以方便的在工作环境中安装、管理和切换不同版本的 python,所以我尝试在使用pyenv的情况下,安装TensorFlow。

系统要求,macOS 12.0+,需要先安装好Xcode Command Line Tools,安装命令

xcode-select --install

pyenv的安装和配置请参考网络教程,通过命令

pyenv install --list

可以列出所有可以安装的 python 版本,也会包含anaconda、pypy等不同的版本。

接下来安装Miniforge,这是由于Anaconda 无法在 M1 上运行, Miniforge 是用来替代它的。执行命令

pyenv install miniforge3

会安装最新版本的Miniforge3-MacOSX-arm64,使用pyenv versions命令,可以列出所有被 pyenv 管理的 python 版本。

通过pyenv命令,设置当前 shell 所使用的 python 版本为miniforge3

pyenv shell miniforge3

使用conda创建名为“tensorflow”虚拟环境,并激活,这里使用的python版本为3.9.5(TensorFlow所需)

conda create -n tensorflow python=3.9.5
conda activate tensorflow

安装TensorFlow dependencies

conda install -c apple tensorflow-deps

如果是升级安装新版本的TensorFlow,建议使用

# uninstall existing tensorflow-macos and tensorflow-metal
python -m pip uninstall tensorflow-macos
python -m pip uninstall tensorflow-metal
# Upgrade tensorflow-deps
conda install -c apple tensorflow-deps --force-reinstall
# or point to specific conda environment
conda install -c apple tensorflow-deps --force-reinstall -n tensorflow

安装TensorFlow

python -m pip install tensorflow-macos

安装tensorflow-metal plugin

python -m pip install tensorflow-metal

至此,TensorFlow就安装成功了,执行

conda deactivate
pyenv shell --unset

可以关闭conda虚拟环境,取消设置当前 shell 的 python 版本。

在PyCharm里使用安装在pyenv里的TensorFlow,步骤如下:

在PayCharm里新建项目

选择“Previously configured interpreter”,并点击后面的 “…” 按钮,弹出“Add Python Interpreter”窗口

选择左侧的“Conda Environment”,然后点击“Interpreter”下拉框后面的“…”按钮,弹出“Select Python Interpreter”窗口

选择miniforge3下“tensorflow”这个虚拟环境下的python文件地址,点击“OK”

在“Add Python Interpreter”窗口中,可以看到“Interpreter”已选中我们刚才所选的Python文件地址,同时选中“Make available to all projects”,也就是这个Interpreter可以被所有项目使用,点击“OK”

在“New Project”的窗口中,即可以选择我们刚才创建的“Interpreter”,点击“Create”,项目创建成功。

在main.py中测试一下TensorFlow

执行结果

我们安装的TensorFlow版本是2.7.0。