目录

前言

本机配置

安装miniforge

tips

安装tensorflow

安装deepface及相关库

Reference


前言

deepface是一款“即插即用”的人脸识别库,其功能丰富,使用方便。

由于其依赖于tensorflow,而tensorflow似乎对m1芯片的macbook支持不是很好(我死活装不上),因此只依靠官方提供的流程无法顺利在m1芯片的macbok上进行安装。

本文提供一套基于miniforge的可以顺利安装的流程。

本机配置

2021款14英寸m1pro芯片macbookpro,Monterey12.3系统,16+512。


安装miniforge

这里安装MacOS的miniforge安装包,然后进行安装

sh ./Miniforge3-MacOSX-arm64.sh

激活miniforge(后续的所有操作都在miniforge空间中进行

source ~/miniforge3/bin/activate

tips

此时miniforge会“替换”anaconda,使用【conda env list】 会发现以前用anaconda创建的环境都不见了,不用紧张,使用如下命令即可将anaconda“替换”回来

source ~/opt/anaconda3/bin/activate

使用上述两个source命令可以在anaconda和miniforge中进行切换。(miniforge的命令好像和anaconda的命令相同,如【conda env list】、【conda create -n ...】、【conda activate ...】等命令在miniforge中都适用)


安装tensorflow

因为tensorflow对m1芯片的macbook支持得不好,所以苹果好像自己整了个tensorflow的库(不太确定)。

首先安装tensorflow依赖

conda install -c apple tensorflow-deps

然后安装tensorflow

python -m pip install tensorflow-macos
python -m pip install tensorflow-metal


安装deepface及相关库

直接进行三步走

pip install deepface --no-deps
pip install retina-face --no-deps
pip install pandas Flask gdown mtcnn Pillow

安装完之后可以运行如下代码,检查是否缺失相应库

from deepface import DeepFace as df

result = df.analyze("./img.jpg", actions=['gender'])

可能会提示缺失“fire”库,单独使用pip进行安装即可。(缺啥库就单独装啥库)

若提示缺少opencv,但环境中已经安装有opencv,可以按照这个issue里的方法进行尝试。(我没有出现这个问题就没有去验证该解决方法的可行性)


Reference

deepface官方github

本文援引的解决方案

解决opencv问题的方法

【KAWAKO】deepface-在基于m1芯片的macbook上进行安装的更多相关文章

  1. 在M1芯片的Mac系统上做.net core开发靠谱吗?

    作为一个7年老.NET程序员,最近几年苹果慢慢接替微软,成为我心中最酷的科技公司. 为什么我会选择Mac os作为我的开发环境? 很多做.net的同学都使用Windows系统作为自己的开发环境,我其实 ...

  2. 关于MacBook Air/Pro 外接显示器时,显示器黑屏无反应的解决方法,顺便求助M1芯片的mac 外接显示器如何开启Hidpi

    显示器黑屏,无反应,频繁闪烁的原因 先说结论,直接换type-c转DP的显示器连接线吧,如果显示器不支持dp接口,那自求多福吧. 事情是这样的,m1版本的macbook air 刚发布就马上入手了一台 ...

  3. 等了半年,m1芯片原生支持的.NET IDE出现了

    m1芯片是苹果2020年发布的一款基于arm的桌面芯片,目前已经应用在MacBook Air .MacBook Pro.IMac.Ipad等设备上.可以说整个苹果生态圈都在去intel化. 今年年初跟 ...

  4. 苹果M1芯片各种不支持,但居然可以刷朋友圈!你会买单吗?

    上个月和大家一起分享过,最新的苹果M1芯片上支持的各种开源软件.什么?还没读过?赶紧点这里:一文解读苹果 M1 芯片电脑上的开源软件. 现在已经过去了半个月,想必有不少的同学都已经入手了最新的苹果M1 ...

  5. 推荐一款M1芯片电脑快速搭建集群的虚拟机软件

    虚拟机软件太多了,出名的莫过于VMware,VirutlaBox以及Parallels Desktop. 我们使用虚拟机软件一般有两种用途: 安装不同于宿主机系统的拥有用户界面的操作系统,比如Wind ...

  6. 别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境(2021最新攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_188 在每个开发者心里,都会有一门"最好"的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名 ...

  7. Servlet3.0学习总结——基于Servlet3.0的文件上传

    Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileu ...

  8. Struts2文件上传(基于表单的文件上传)

    •Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目   •Commons-Fil ...

  9. [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. 基于XMPP实现的Openfire的配置安装+Android客户端的实现

    最近在整理一些这方面的资料,闲话少说,咱还是直奔主题吧 :) 一.基于xmpp实现的openfire的配置安装 1. 下载最新的openfire安装文件 官方下载站点: http://www.igni ...

随机推荐

  1. vivo大数据日志采集Agent设计实践

    作者:vivo 互联网存储技术团队- Qiu Sidi 在企业大数据体系建设过程中,数据采集是其中的首要环节.然而,当前行业内的相关开源数据采集组件,并无法满足企业大规模数据采集的需求与有效的数据采集 ...

  2. DTSE Tech Talk 第13期:Serverless凭什么被誉为未来云计算范式?

    摘要:在未来,云上交付模式会逐步从Serverful为主转向Serverless为主. 本文分享自华为云社区<DTSE Tech Talk 第13期:Serverless凭什么被誉为未来云计算范 ...

  3. JavaEE Day07 HTML

    今日内容 Web概念概述 HTML 一.Web概念概述 1. JavaWeb:使用Java语言开发的基于互联网的项目 2.软件架构 C/S架构:Client/Server--- 客户端/服务器端(安卓 ...

  4. 【SQL基础】多表查询:子查询、连接查询(JOIN)、组合查询(UNION集合运算)

    〇.概述 1.内容 JOIN表连接(内连接INNER JOIN/JOIN)(外连接LEFT/RIGHT (OUTER) JOIN) 集合运算-UNION联合 2.建表语句 drop table if ...

  5. 【离线数仓】Day04-即席查询(Ad Hoc):Presto链接不同数据源查询、Druid建多维表、Kylin使用cube快速查询

    一.Presto 1.简介 概念:大数据量.秒级.分布式SQL查询engine[解析SQL但不是数据库] 架构 不同worker对应不同的数据源(各数据源有对应的connector连接适配器) 优缺点 ...

  6. 嵌入式Linux Qt移植详细过程

    嵌入式Linux下的Qt移植详细过程 开发说明 前段时间需要用开发板写一个下位机程序,是基于Linux系统,就想着用Qt来写,于是上网找教程看如何移植到开发板上.由于我不熟悉嵌入式Linux,加上网上 ...

  7. 五年经验的前端社招被问:CPU 和 GPU 到底有啥区别?

    首先来看 CPU 和 GPU 的百科解释: CPU(Central ProcessingUnit,中央处理器):功能主要是解释计算机指令以及处理计算机软件中的数据 GPU(Graphics Proce ...

  8. uniapp 微信小程序 根据经纬度解析地址(腾讯地图)

    //引入腾旭地图sdk import QQMapWX from '../../common/qqmap-wx-jssdk.js' onLoad(){ this.getMapAddress() }, m ...

  9. Python AI小项目打包通关:Pyinstaller和Wix都用上了

    最近有个Python小项目要打个包,项目结构比较简单 main.py(主文件), 以及model_050.hdf5 (在云端训练好的AI模型) 主函数里引用了一些包,如下 需要解决的问题: 将main ...

  10. 基于jQuery的三种AJAX请求

    基于jQuery的三种AJAX请求 1. 介绍 get请求 通常用于 获取服务端资源(向服务器要资源) ​ 例如:根据URL地址,从服务器获取HTML文件.CSS文件.JS文件.图片文件.数据资源等. ...