微信上登录网站同步怎么做/重庆百度推广排名优化

微信上登录网站同步怎么做,重庆百度推广排名优化,做企业网站模板可以seo,网站建设项目管理目录 1. 引言2. 环境准备3. 安装 TensorFlow 和必要依赖4. 结语Reference 1. 引言 Keras 是搞深度学习很可爱的工具,其友好的接口让我总是将其作为搭建模型原型的首选。然而,当我希望在 M 系列芯片的MacBook Pro上使用 Keras时,使用Conda和P…

目录

      • 1. 引言
      • 2. 环境准备
      • 3. 安装 TensorFlow 和必要依赖
      • 4. 结语
      • Reference

1. 引言

Keras 是搞深度学习很可爱的工具,其友好的接口让我总是将其作为搭建模型原型的首选。然而,当我希望在 M 系列芯片的MacBook Pro上使用 Keras时,使用Conda和Pip进行丝滑配置的方法并不直接适用,问题主要源于 conda 环境配置的架构不匹配,M 系列芯片使用 ARM64 架构,而conda默认的环境架构编译方式为x86_64,所以从源拉取tensorflow库的时候也就自动安装了不兼容的x86_64版本。本文将分享我在M系列芯片 MacOS上建立Conda环境并安装Tensorflow2(自带Keras3)的过程,可以让后来人少走弯路。

TensorFlow PluggableDevice 介绍
自 TensorFlow 2.5 起,苹果引入了基于 PluggableDevice 机制的 Metal 插件,使 TensorFlow 能够利用 Apple 的 Metal API 在 GPU 上加速计算。通过 tensorflow-metal 插件,TensorFlow 能够在 Metal Performance Shaders (MPS) 设备上执行计算,为 M 系列芯片上的深度学习训练和推理提供显著的性能提升。

2. 环境准备

在开始前,请确保自己的电脑满足如下基本要求:

Requirements:
• 搭载 Apple 芯片(M1/M2/M3系列)或 AMD GPU 的 Mac 电脑
• macOS 12.0 或更高版本
• Python 3.9 或更高版本
• Xcode 命令行工具(可通过 xcode-select --install 安装)

确保已安装 Xcode 命令行工具,执行如下命令,如果提示"已安装请求的软件",表示已安装过,可以直接进入下一步。

xcode-select --install

如果没有安装 Conda,要先安装 Miniforge,安装命令如下:

# 使用 Homebrew 安装 Miniforge
brew install miniforge# 初始化 shell 环境
conda init zsh  # 或 conda init bash(取决于所使用的 shell)

如果已有 Anaconda是可以使用的,只是需要特别注意架构问题,推荐做法是在创建环境时指定环境的架构,保持默认环境架构为x86,因为很多Python包仍主要支持x86架构。执行如下命令,创建一个纯 ARM64 架构的 Conda 环境并激活。

# 创建 arm64 架构的环境,指定 Python 版本为 3.10
CONDA_SUBDIR=osx-arm64 conda create -n tensorflow2 python=3.10 -c conda-forge# 激活环境
conda activate tensorflow2

3. 安装 TensorFlow 和必要依赖

确认环境已正确设置为ARM64架构后,就可以开始安装TensorFlow了。从TensorFlow 2.13版本开始,官方已经提供了对Apple Silicon的原生支持,不再需要特殊的tensorflow-macos包,可以按照以下步骤直接安装。

# 安装 libffi(解决动态链接问题)
conda install -c conda-forge libffi# 安装 Apple 提供的 TensorFlow 依赖包
conda install -c apple tensorflow-deps# 安装 TensorFlow
python -m pip install tensorflow -i https://pypi.org/simple# 安装 Metal 插件(启用 GPU 加速)
python -m pip install tensorflow-metal -i https://pypi.org/simple

安装完成后,使用Apple官方文档提供的脚本(代码如下)进行测试,如果看到程序运行中数据集能正常加载、模型编译无错误、训练过程中能看到进度条和指标正常更新,则表明tensorflow2已经成功安装。

import tensorflow as tf# 加载 CIFAR-100 数据集
cifar = tf.keras.datasets.cifar100
(x_train, y_train), (x_test, y_test) = cifar.load_data()# 创建 ResNet50 模型
model = tf.keras.applications.ResNet50(include_top=True,weights=None,input_shape=(32, 32, 3),classes=100,)# 编译模型
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)
model.compile(optimizer="adam", loss=loss_fn, metrics=["accuracy"])# 训练模型
model.fit(x_train, y_train, epochs=5, batch_size=64)

4. 结语

在 M 系列芯片的 Mac 上安装 TensorFlow 2 和 Keras3 的关键在于确保架构一致性,所有组件都应该使用 ARM64 架构。通过利用 PluggableDevice 机制和 tensorflow-metal 插件,可以充分发挥 Apple Silicon 的性能优势,无需外接 GPU 即可进行模型训练和实验。当遇到架构不匹配错误(如mach-o file, but is an incompatible architecture或The TensorFlow library was compiled to use AVX instructions)时,请首先检查环境架构并确保使用ARM64。如果问题仍然存在,创建全新的ARM64环境通常是最干净有效的解决方案。

Reference

Tensorflow Plugin - Metal - Apple Developer

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

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

相关文章

清华北大DeepSeek六册

「清华北大-Deepseek使用手册」 链接:https://pan.quark.cn/s/98782f7d61dc 「清华大学Deepseek整理) 1-6版本链接:https://pan.quark.cn/s/72194e32428a AI学术工具公测链接:https://pan.baidu.com/s/104w_uBB2F42Da0qnk78_ew …

零信任沙箱:为网络安全筑牢“隔离墙”

在数字化浪潮汹涌澎湃的今天,网络安全如同一艘船在波涛汹涌的大海中航行,面临着重重挑战。数据泄露、恶意软件攻击、网络钓鱼等安全威胁层出不穷,让企业和个人用户防不胜防。而零信任沙箱,就像是一座坚固的“隔离墙”,…

【String】917. 仅仅反转字母

917. 仅仅反转字母 - 力扣(LeetCode) 使用双指针,一个指针指向s的开始,一个指向s的末尾,同时遍历即可。

大语言模型学习

大语言模型发展历程 当前国内外主流LLM模型 ‌一、国外主流LLM‌ ‌LLaMA2‌ Meta推出的开源模型,参数规模涵盖70亿至700亿,支持代码生成和多领域任务适配‌57。衍生版本包括Code Llama(代码生成优化)和Llama Chat(对…

3dsmax烘焙光照贴图然后在unity中使用

效果预览 看不清[完蛋!] 实现步骤 使用 软件 软体名称地址photoshophttps://www.adobe.com/products/photoshop.htmlunity3Dhttps://unity.com/3dsmaxhttps://www.autodesk.com.cn/products/3ds-max/free-trialpacker-iohttps://www.uv-packer.com/HDR 贴图地址…

P8651 [蓝桥杯 2017 省 B] 日期问题--注意日期问题中2月的天数 / if是否应该连用

P8651 [P8651 [蓝桥杯 2017 省 B] 日期问题--注意日期问题中2月的天数 / if是否应该连用 题目 分析代码 题目 分析 代码中巧妙的用到3重循环,完美的解决了输出的顺序问题【题目要求从小到大】 需要注意的是2月的值,在不同的年份中应该更新2月的值 还有…

android 横竖屏适配工作总结

1、创建一个横屏文件夹,复制一份竖屏的布局。然后修改适配横屏。只要布局id都有,其他想怎么改就怎么修改。 2、最好使用kotlin语言编写和使用viewBinding绑定控件,可以使用?.判空控件是否存在,不至于缺少这个控件时候直接崩溃。 …

VS2022远程调试Ubuntu中的C++程序

前言 最近想基于星火大模型的SDK开发第一些应用。但是,发现星火的SDK当中Linux版本的比较丰富,Windows 版本支持的比较少。但是,从调试的IDE而言,Visual Studio又是最方便的。所以,考虑采用Visual Studio Ubuntu的形式…

VS Code(Cursor)远程开发调试教程(超详细)

前言 📢 声明:本文配置及开发方法同样适合Cursor !! 在开始之前,你需要准备以下东西: 本地电脑: 安装好 VS Code(Windows、Mac 或 Linux 都可以)。 官网下载&#xff0c…

【C++】类与对象:深入理解默认成员函数

类与对象:深入理解默认成员函数 引言1、默认成员函数概述2、构造函数与析构函数2.1 默认构造函数2.2 析构函数 3、拷贝控制成员3.1 拷贝构造函数3.2 赋值运算符重载 4、移动语义(C11)4.1 移动构造函数4.2 移动赋值运算符 5、三五法则与最佳实…

QT实现计算器

1:在注册登录的练习里面, 追加一个QListWidget 项目列表 要求:点击注册之后,将账号显示到 listWidget上面去 以及,在listWidget中双击某个账号的时候,将该账号删除 Widget.h #ifndef WIDGET_H #define…

io学习----->标准io

思维导图: 一.io的作用 io是实现对文件的操作,把运行结果存到文件中,读取文件的数据,方便后期查询。 二.io的概念 io是指系统 和外部设备或用户之间的数据交互 I:input 表示数据从外部设备输入到内存中; O:output…

使用消息队列怎样防止消息重复?

大家好,我是君哥。 使用消息队列时,我们经常会遇到一个可能对业务产生影响的问题,消息重复。在订单、扣款、对账等对幂等有要求的场景,消息重复的问题必须解决。 那怎样应对重复消息呢?今天来聊一聊这个话题。 1.三…

解决Docker Desktop启动后Docker Engine stopped问题

一、问题描述 当我们更新了Docker Desktop后,在重新打开就显示【Docker Engine stopped(Docker引擎已经停止)】,无法正常使用Docker,如下图所示: 二、问题分析 1、检查电脑主板的CPU是否开启虚拟化; 2、需检查Docker所需的功能是否开启; 3、检查WSL是否匹配; Docker的…

MongoDB—(一主、一从、一仲裁)副本集搭建

MongoDB集群介绍: MongoDB 副本集是由多个MongoDB实例组成的集群,其中包含一个主节点(Primary)和多个从节点(Secondary),用于提供数据冗余和高可用性。以下是搭建 MongoDB 副本集的详细步骤&am…

蓝桥杯自我复习打卡

总复习,打卡1. 一。排序 1。选段排序 太可恶了,直接全排输出,一个测试点都没过。 AC 首先,这个【l,r】区间一定要包含p,或者q,pq一个都不包含的,[l,r]区间无论怎么变,都对ans没有影响。 其次&…

Flutter_学习记录_实现列表上拉加载更多的功能

可以用ScrollController组件来实现这样列表上拉加载更多的功能: 1. 定义变量 在StatefulWidget 的组件内,添加三个属性: // 滚动视图的控制器final ScrollController _scrollController ScrollController();// 是否已显示了上拉加载中bool _isShowM…

【Linux】【网络】不同子网下的客户端和服务器通信其它方式

【Linux】【网络】不同子网下的客户端和服务器通信其它方式 那么,在 NAT 环境下,应该如何让内网设备做为服务器,使内网设备被外部连接? 1 多拨 部分运营商,支持在多个设备上,通过 PPPoE 登录同一个宽带账…

六十天前端强化训练之第一天到第七天——综合案例:响应式个人博客项目

欢迎来到编程星辰海的博客讲解 目录 前言回顾 HTML5与CSS3基础 一、知识讲解 1. 项目架构设计(语义化HTML) 2. 响应式布局系统(Flex Grid) 3. 样式优先级与组件化设计 4. 完整响应式工作流 二、核心代码示例 完整HTML结…

测试的BUG分析

在了解BUG之前,我们要先了解软件测试的生命周期,因为大多数BUG都是在软件测试的过程中被发现的 软件测试的生命周期 在了解 软件测试的生命周期 之前,我们要先了解 软件的生命周期 ,虽然他们之间只差了两个字,但是差距还是很大的 首先是 软件生命周期 ,这个是站在 软件 的角…