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,点击你需要下载的文件就可以了,我下载的是我圈出来的
2.下载anaconda arm
打开anaconda arm 链接https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/,点开here就可以下载了。
ps: 如果有下载不下来的同学,我把我自己下载好的放在网盘上了,也可从网盘上下载。
链接: https://pan.baidu.com/s/1O5K6b_SLIyw8dOrs7xz2Ig 密码: rn5h
3.下载文件后解压
解压命令:
tar -xvf tensorflow_macos-0.1alpha1.tar
解压后我的文件长这样:
安装anaconda,在当前目录下:
/bin/bash ./Miniforge3-MacOSX-arm64.sh
创建虚拟环境
为了tensorflow的包管理,单独创建一个虚拟环境。
- 创建虚拟环境
conda create -n tensorflow_env python=3.8
- 激活虚拟环境
conda activate tensorflow_env
激活后的环境状态:
- 查看当前python路径
which python
会出现当前python的虚拟环境,可以看到我的在anaconda3下的envs下的tensorflow_env;
- 安装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终于不报错了。
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 种语言如下图所示。
◆ ◆ ◆
一般流程
如果想高效地添加字幕,请切换到文本和图形 Captions and Graphics工作区,这样所有相关的面板均会显示出来。
- 创建视频转录文本
1、创建转录。
打开文本 Text面板。
Pr菜单:窗口/文本
在转录文本 Transcript选项卡中点击"创建转录" Create transcription按钮。
在创建转录文本对话框的"转录设置"中选择正确的音轨及语言,或者设置入点/出点及识别不同说话者说话的时间等选项。
提示:
选项:将输出与现有转录合并
Merge output with existing transcription
在特定入点和出点之间进行转录时,可以将自动转录文本插入到现有文本中。选择此选项可在现有转录文本和新转录文本之间建立连续性。
确认之后,点击"转录" Transcribe按钮,即开始语音转文字的处理。
2、(可选)编辑发言者。
单击左侧的 ... 按钮,可编辑或添加发言者 Speakers名称。
3、(可选)校正文字。
在右上角的 ... 按钮中,可开启(默认)"拼写检查" Check spelling。
可以边播放边校对转录文字的正确性。
可以查找并替换相关文字,以及进行拆分处理。
- 生成字幕
如果对转录文本感到满意后,即可将其转换为时间轴上的字幕。点击"创建说明性字幕" Create captions按钮。
字幕预设 Caption preset一般选择"字幕默认设置" Subtitle default。
格式 Format一般选择"字幕"。
有关字幕格式请参阅《》。
如果没有现成的样式 Style可用,可在后续设计。
- 设计字幕样式
有必要的情况下,使用基本图形面板中的工具对字幕进行风格化设计。
点击"推送至轨道或样式" Push To Track or Style按钮,可将样式推送到轨道上的所有字幕。
可在"轨道样式" Track Style下拉列表中,创建新的样式并保存。
- 其它
字幕轨道 Caption Track被置于时间轴面板的上方,可在轨道头部右击以进行设置。
既可在文本面板中编辑文本,也可在节目监视器中编辑文本。
在文本面板右上角的 ... 按钮中,可选择将字幕导出,比如导出为 .txt 的文本文件,或是 .SRT 外挂字幕文件。
"有钱的捧个钱场,好看的点下在看"
Original: https://blog.csdn.net/qq_41176800/article/details/122891496
Author: MediaTea
Title: Pr:自动添加字幕
相关阅读2
Title: 唐宇迪学习笔记20:聚类算法——DBSCAN
目录
(Density-Based Spatial Clustering of Applications with Noise)
一、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是密度相连的。
- 边界点:属于某一个类的非核心点,不能发展下线了
- 噪声点:不属于任何一个类簇的点,从任何一个核心点出发都是密度不可达的
A:核心对象 ;B,C:边界点 ;N:离群点
DBSACN算法可以用于异常检测。
二、DBSCAN工作流程
工作流程
- 参数D:输入数据集
- 参数ε:指定半径
- MinPts:密度阈值
参数选择
- 半径ε:可以根据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
对初始值影响大
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的语音信号处理