Mac m1芯片anaconda上安装tensorflow

人工智能65

Mac M1芯片上安装tensorflow

背景

环境:Mac OS M1芯片,anaconda
按照常规经验,在我的电脑上用用pip install TensorFlow之后,安装过程很正常没有报错,后来import tensorflow后出现了一个错误:zsh: illegal hardware instruction python 这个错误,后来搜索后,在 stack overflow网站上搜到了一个帖子,发现是一样的错误,顺藤摸瓜后发现了tensorflow的macOS github 上的说明。写出来供大家参考。
说明一下,如果anaconda环境是在官网上下载的,目前anaconda还没有支持arm芯片架构的,所以如果参考apple github 上的内容依然会报错,错误是:Failed to load the native TensorFlow runtime. 这是由于苹果芯片采用arm架构,但是anaconda目前官网上的安装包依然是inter架构的,所以会有问题,最后兜兜转转参考了https://github.com/apple/tensorflow_macos/issues/3。要先安装arm架构的anaconda(裂开表情包)。
参考网站:
stackoverflow :
"zsh: illegal hardware instruction python" when installing Tensorflow on MacBook pro M1 - Stack Overflow
苹果tensorflow github:
Releases · apple/tensorflow_macos · GitHub
anaconda 环境下安装tensorflow
https://github.com/apple/tensorflow_macos/issues/3
Anaconda arm 架构安装包:
https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/

安装过程

环境说明

环境要求:
anaconda arm架构的安装包
python 3.8+
tensorflow 安装包

安装过程

下载tensorflow 文件和anaconda arm架构安装包

打开上述的tensorflow github 网站) 和Anaconda arm 架构安装包链接,下载文件到本地并解压文件。

下载文件:
1.下载tensorflow
https://github.com/apple/tensorflow_macos/releases
进入这个网站,有Assets,点击你需要下载的文件就可以了,我下载的是我圈出来的
Mac m1芯片anaconda上安装tensorflow
2.下载anaconda arm
打开anaconda arm 链接https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/,点开here就可以下载了。
Mac m1芯片anaconda上安装tensorflow

ps: 如果有下载不下来的同学,我把我自己下载好的放在网盘上了,也可从网盘上下载。
链接: https://pan.baidu.com/s/1O5K6b_SLIyw8dOrs7xz2Ig 密码: rn5h

3.下载文件后解压
解压命令:

tar -xvf tensorflow_macos-0.1alpha1.tar

解压后我的文件长这样:

Mac m1芯片anaconda上安装tensorflow

安装anaconda,在当前目录下:
/bin/bash ./Miniforge3-MacOSX-arm64.sh

创建虚拟环境

为了tensorflow的包管理,单独创建一个虚拟环境。
Mac m1芯片anaconda上安装tensorflow

  1. 创建虚拟环境
    conda create -n tensorflow_env python=3.8
  2. 激活虚拟环境
    conda activate tensorflow_env
    激活后的环境状态:
    Mac m1芯片anaconda上安装tensorflow
  3. 查看当前python路径
    which python
    会出现当前python的虚拟环境,可以看到我的在anaconda3下的envs下的tensorflow_env;
    Mac m1芯片anaconda上安装tensorflow
  4. 安装tensorflow
    在终端命令下运行以下代码
If you have Tensorflow in your env, you must install it first -- uncomment this line if you're in this boat
pip uninstall tensorflow tensorboard

这里记得更改为tensorflow下载解压后的文件夹...

libs="/Users/xx/xx/source/tensorflow_macos/arm64/"

替换成tensorflow的虚拟环境路径
env="/Users/xx/miniforge3/envs/tensorflow_env"

The rest should work
pip install --upgrade pip wheel setuptools cached-property six

pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/grpcio-1.33.2-cp38-cp38-macosx_11_0_arm64.whl"

pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/h5py-2.10.0-cp38-cp38-macosx_11_0_arm64.whl"

pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl"

pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/tensorflow_addons-0.11.2+mlcompute-cp38-cp38-macosx_11_0_arm64.whl"

pip install absl-py astunparse flatbuffers gast google_pasta keras_preprocessing opt_einsum protobuf tensorflow_estimator termcolor typing_extensions wrapt wheel tensorboard typeguard

pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/tensorflow_macos-0.1a1-cp38-cp38-macosx_11_0_arm64.whl”

这里运行如果出现无法找到文件错误,则需要根据tensorflow_macos/arm64/文件夹的文件名修改,因为下载的版本一直在更新,所以可能会有不一样。
5. 最后验证下,导入tensorflow终于不报错了。
Mac m1芯片anaconda上安装tensorflow

Original: https://blog.csdn.net/lyang1896/article/details/113187799
Author: 是CC姐呀
Title: Mac m1芯片anaconda上安装tensorflow



相关阅读1

Title: Pr:自动添加字幕

Pr 中的"语音到文本"功能,基于先进的语音识别技术,可以自动生成转录文本并为视频添加字幕,大大提高了添加字幕的工作效率。

从 Premiere Pro 22.2 版本开始,支出离线的语音到文本功能,从而无须再连网使用。

目前,已支持的 13 种语言如下图所示。

Mac m1芯片anaconda上安装tensorflow

◆ ◆

一般流程

如果想高效地添加字幕,请切换到文本和图形 Captions and Graphics工作区,这样所有相关的面板均会显示出来。

Mac m1芯片anaconda上安装tensorflow

  • 创建视频转录文本

1、创建转录。

打开文本 Text面板。

Pr菜单:窗口/文本

在转录文本 Transcript选项卡中点击"创建转录" Create transcription按钮。

Mac m1芯片anaconda上安装tensorflow

在创建转录文本对话框的"转录设置"中选择正确的音轨及语言,或者设置入点/出点及识别不同说话者说话的时间等选项。

Mac m1芯片anaconda上安装tensorflow

提示:

选项:将输出与现有转录合并

Merge output with existing transcription

在特定入点和出点之间进行转录时,可以将自动转录文本插入到现有文本中。选择此选项可在现有转录文本和新转录文本之间建立连续性。

确认之后,点击"转录" Transcribe按钮,即开始语音转文字的处理。

2、(可选)编辑发言者。

单击左侧的 ... 按钮,可编辑或添加发言者 Speakers名称。

Mac m1芯片anaconda上安装tensorflow

3、(可选)校正文字。

在右上角的 ... 按钮中,可开启(默认)"拼写检查" Check spelling。

可以边播放边校对转录文字的正确性。

可以查找并替换相关文字,以及进行拆分处理。

  • 生成字幕

如果对转录文本感到满意后,即可将其转换为时间轴上的字幕。点击"创建说明性字幕" Create captions按钮。

Mac m1芯片anaconda上安装tensorflow

字幕预设 Caption preset一般选择"字幕默认设置" Subtitle default。

格式 Format一般选择"字幕"。

有关字幕格式请参阅《》。

如果没有现成的样式 Style可用,可在后续设计。

  • 设计字幕样式

有必要的情况下,使用基本图形面板中的工具对字幕进行风格化设计。

Mac m1芯片anaconda上安装tensorflow

点击"推送至轨道或样式" Push To Track or Style按钮,可将样式推送到轨道上的所有字幕。

Mac m1芯片anaconda上安装tensorflow

可在"轨道样式" Track Style下拉列表中,创建新的样式并保存。

  • 其它

字幕轨道 Caption Track被置于时间轴面板的上方,可在轨道头部右击以进行设置。

既可在文本面板中编辑文本,也可在节目监视器中编辑文本。

在文本面板右上角的 ... 按钮中,可选择将字幕导出,比如导出为 .txt 的文本文件,或是 .SRT 外挂字幕文件。

Mac m1芯片anaconda上安装tensorflow

"有钱的捧个钱场,好看的点下在看"

Original: https://blog.csdn.net/qq_41176800/article/details/122891496
Author: MediaTea
Title: Pr:自动添加字幕

相关阅读2

Title: 唐宇迪学习笔记20:聚类算法——DBSCAN

目录

一、DBSCAN聚类算法

(Density-Based Spatial Clustering of Applications with Noise)

二、DBSCAN工作流程

工作流程

参数选择

优缺点

优点

缺点

三、DBSCAN可视化展示

一、DBSCAN聚类算法

(Density-Based Spatial Clustering of Applications with Noise)

  • 核心对象:若某个点的密度达到算法设定的阈值则其为核心点。 (即 r 邻域内点的数量不小于 minPts)
  • ε-邻域的距离阈值:设定的半径r
  • 直接密度可达:若某点p在点q的 r 邻域内,且q是核心点则p-q直接密度可达。
  • 密度可达:若有一个点的序列q0、q1、...qk,对任意qi-qi-1是直接密度可达的 ,则称从q0到qk密度可达,这实际上是直接密度可达的"传播"
  • 密度相连:若从某核心点p出发,点q和点k都是密度可达的 ,则称点q和点k是密度相连的。
  • 边界点:属于某一个类的非核心点,不能发展下线了
  • 噪声点:不属于任何一个类簇的点,从任何一个核心点出发都是密度不可达的

Mac m1芯片anaconda上安装tensorflow

A:核心对象 ;B,C:边界点 ;N:离群点

DBSACN算法可以用于异常检测。

二、DBSCAN工作流程

工作流程

  • 参数D:输入数据集
  • 参数ε:指定半径
  • MinPts:密度阈值

Mac m1芯片anaconda上安装tensorflow

参数选择

  • 半径ε:可以根据K距离来设定:找突变点。
  • K距离:给定数据集P={p(i); i=0,1,...n},计算点P(i)到集合D的子集S中所有点 之间的距离,距离按照从小到大的顺序排序,d(k)就被称为k-距离。
  • MinPts: k-距离中k的值,一般取的小一些,多次尝试。

优缺点

优点

  • 不需要指定簇个数
  • 可以发现任意形状的簇
  • 擅长找到离群点(检测任务)
  • 两个参数就够了

缺点

高维数据有些困难(可以做降维)

参数难以选择(参数对结果的影响非常大) Sklearn中效率很慢(数据削减策略)

三、DBSCAN可视化展示

可视化展示

Visualizing K-Means Clustering

Visualizing DBSCAN Clustering

对初始值影响大

Original: https://blog.csdn.net/qq_40890544/article/details/123723844
Author: 小丑呀~
Title: 唐宇迪学习笔记20:聚类算法——DBSCAN

相关阅读3

Title: 基于matlab的语音信号处理

摘要

利用所学习的数字信号处理知识,设计了一个有趣的音效处理系统,首先设计了几种不同的滤波器对声音进行滤波处理,分析了时域和频域的变化,比较了经过滤波处理后的声音与原来的声音有何变化。同时设计实现了语音的倒放,变速播放,回响,音调转换等处理效果,其中音调转换部分使用了重新采样改变基频,再进行时长规整的算法。

基于MATLAB的语音信号处理

语音信号的采集

录制或者截取一段音乐,时间在1分钟左右,存为.wav的文件。然后利用wavread对语音信号进行采样。我们一共选择了3段语音,其中

d.wav 真心英雄(周华健)(男声)

man.wav我的歌声里(自己录制)(男声)

girl.wav看的最远的地方(张韶涵)(女声)

语音信号的频谱分析

使用matlab画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,画出频谱图,分析频率成分。这里我们分析的是d.wav,通过分析知道频率分布在0—10KHz,主要分布在低频。

数字滤波器设计

这里我们设计了4种滤波器对语音进行处理,分别为椭圆低通滤波,椭圆高通滤波,等波纹逼近法FIR带通滤波器,双线性变换法切比雪夫数字高通滤波器,绘制出相应的幅度、相位谱图,滤波后的波形、频谱图。

各滤波器的设计如下:

椭圆低通滤波器:fb=1 200 Hz,fc=1 400 Hz,As=100 dB,Ap=1 dB

椭圆高通滤波器:fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB

等波纹逼近法设计FIR带通滤波器

fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3000Hz,As=100dB,Ap=1dB

双线性变换法切比雪夫数字高通滤波器

fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB

滤波处理后,我们用函数sound()可以对声音进行回放,调用格式:sound(x,fs,bits);感觉滤波前后的声音。语音的低频部分沉稳,空间感较强;中频部分音质一般;高频部分音质非常尖锐,略微有尖音。此外中高频的幅度都不大,回放时音量较低。

语音变速播放

改变语音的播放速度也就是改变采样间隔(即改变了采样频率),但是这个频实现率依然要在2f(Nyquist rate)之上,否则就会产生失真。

%变速-慢放%

w=0.9;

M=w*fs; %w>1为快放,w

Original: https://blog.csdn.net/sunny_chenxi/article/details/120014766
Author: sunny_chenxi
Title: 基于matlab的语音信号处理