如何在Mac M1设备上安装TensorFlow C API 1.15版本?
TF 1.15 无原生适配 M1 系列芯片的 arm64 版本,所有操作均基于 Rosetta 2 转译 x86_64 架构运行,具体步骤如下:
1. 配置 Rosetta 2 终端
- 打开访达,进入「应用程序」-「实用工具」目录
- 右键点击「终端」,选择「显示简介」
- 勾选「使用 Rosetta 打开」选项,保存后重启终端
2. 安装 x86_64 版本 Homebrew
在重启后的 Rosetta 终端中执行如下命令:arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后执行别名配置,方便后续调用x86版本包管理器:alias brew86='arch -x86_64 /usr/local/bin/brew'
3. 安装依赖工具
执行命令安装所需依赖:brew86 install wget coreutils
4. 下载 TF 1.15 C API 预编译包
搜索下载官方发布的 libtensorflow-cpu-darwin-x86_64-1.15.0.tar.gz 预编译压缩包即可。
5. 部署 C API 到系统路径
- 解压下载的压缩包:
tar -xzf libtensorflow-cpu-darwin-x86_64-1.15.0.tar.gz - 拷贝头文件到系统头目录:
sudo cp -r include/tensorflow /usr/local/include/ - 拷贝动态库到系统库目录:
sudo cp lib/* /usr/local/lib/ - 刷新动态库缓存:
sudo update_dyld_shared_cache
6. 验证安装结果
执行如下命令验证版本是否匹配:printf '#include <tensorflow/c/c_api.h>\nint main() { printf(\"TF version: %s\\n\", TF_Version()); return 0; }' > test_tf.c && clang test_tf.c -ltensorflow -o test_tf && ./test_tf
输出内容为 TF version: 1.15.0 即代表安装成功。
注意:后续编译依赖该版本 C API 的项目时,需要指定目标架构为 x86_64,可在编译命令前加
arch -x86_64前缀,或者在项目构建设置中修改架构参数,否则会出现架构不匹配的链接错误。
内容的提问来源于stack exchange,提问作者CPP

