主頁 > 軟體設計 > 人臉表情識別系統介紹——離線環境配置篇

人臉表情識別系統介紹——離線環境配置篇

2021-04-29 14:25:15 軟體設計

摘要:本文詳細介紹如何使用離線方法配置前面一篇博文《人臉表情識別系統介紹——上篇(python實作,含UI界面及完整代碼)》專案中代碼的Python環境,能夠有效避免一些可能出現的依賴包安裝問題,本離線包需要用到的軟體有PyCharm和Anaconda,博主已打包好并通過百度網盤分享,以便關注該專案的博友下載安裝使用,博文要點如下:

文章目錄

  • 前言
  • 1. 下載代碼和離線環境
    • 1.1 下載代碼
    • 1.2 下載依賴包檔案
  • 2. PyCharmAnaconda安裝
  • 3. 安裝離線依賴包
    • 3.1 新建Conda環境
    • 3.2 開始安裝依賴包
    • 3.3 在PyCharm中配置環境
  • 結束語


前言

前面博主寫的博文人臉表情識別系統介紹——上篇(python實作,含UI界面及完整代碼)分享了一個表情識別的專案,收到不少粉絲發來訊息詢問環境配置方法,許多剛接觸的朋友不會配置Python環境,或者由于電腦網路環境的原因有些依賴包不好安裝,因此這里給出博主打包好的Python離線環境,供大家移植到自己的電腦上,以便解決環境版本不一致問題,


1. 下載代碼和離線環境

1.1 下載代碼

(1)首先當然是下載好表情識別的代碼,其下載地址如下,如圖所示我們點擊頁面2.1版本的下載鏈接,開始下載并解壓檔案:

下載代碼:https://mianbaoduo.com/o/bread/YpialJ0=

在這里插入圖片描述
(2)下載并解壓后的檔案夾如圖所示,請最好將它放在一個自己熟悉的且不含中文的檔案夾路徑中:

在這里插入圖片描述

1.2 下載依賴包檔案

(1)博主已經準備好了運行本專案代碼所需要的全部Python依賴包,這一步需要大家下載準備好離線的Python環境包,

鏈接:https://pan.baidu.com/s/1NJS7ufGkPw_b2lor2lockw
提取碼:fxrd

(2)首先點擊以上鏈接下載離線依賴包,并將下載的“Pypackage”檔案夾放在上面“Emotion Recognition”檔案夾中,即大概如下圖所示目錄的樣子:

在這里插入圖片描述
下載并放置好這個檔案夾,這樣人臉表情識別的程式代碼和依賴包就準備好了,接下來只需要在PyCharm中新建一個Conda環境并安裝這些依賴,最后在PyCharm中指定該環境即可在自己的電腦上跑通這個程式了,


2. PyCharmAnaconda安裝

在我們配置環境和運行代碼之前,PyCharm和Anaconda是必須安裝的,盡管PyCharm也是可以安裝和管理Python的依賴包的,但是為了方便大家后面配置離線包以及維護便捷,還是請大家安裝上Anaconda這款必備神器,對于這兩款軟體的安裝步驟基本就是一路點擊Next,安裝簡單,其教程在網上也有很多,大家可以參考安裝,當然我還是推薦采用博主寫好的安裝教程:PyCharm與Anaconda超詳細安裝配置教程,里面詳細介紹了每一步安裝程序,大家點擊鏈接進去照著安裝就好了,關于軟體的安裝這里就不再贅述了,


3. 安裝離線依賴包

3.1 新建Conda環境

(1)首先我們打開PyCharm,點擊左上方選單欄中的“File”,選擇“Open”,在彈出的瀏覽選項框中選中上節中解壓出的檔案夾目錄(即我們專案代碼的檔案夾),點擊“OK”即可打開該專案,如下圖所示:

在這里插入圖片描述
(2)打開后的專案界面如下圖所示,點擊左下方的“Terminal”可打開PyCharm自帶的終端工具,它的作用與CMD終端一樣,只不過這里當我們打開專案后,PyCharm就自動將終端的目錄切到專案所在的檔案夾路徑中了,為我們省去了切換路徑的步驟,

在這里插入圖片描述
(3)我們首先為這個專案新建一個Conda環境,在終端中輸入如下代碼,新建一個名為"emo_rec"的環境,并指定Python的版本為3.7(本專案請使用3.7的版本),如下圖所示:

conda create --name emo_rec python=3.7

在這里插入圖片描述
(4)按下回車后,開始創建環境,會提示我們是否確認安裝,鍵入“y”并回車,即可開始安裝:

在這里插入圖片描述
(5)此時不出意外可以看到如下界面,顯示環境配置完成,并提示我們可以激活該環境:

在這里插入圖片描述
(6)我們先關閉這個終端,然后重啟終端,輸入如下代碼激活我們剛剛創建的環境“emo_rec”,并回車執行:

conda activate emo_rec

在這里插入圖片描述
(7)執行完畢,可以看到命令列首部已經顯示為“(emo_rec)”,表示當前已經處于emo_rec環境中了:

在這里插入圖片描述

3.2 開始安裝依賴包

(1)現在可以開始安裝離線依賴包了,首先打開并找到“Pypackage”檔案夾中的“setup.txt”檔案,它里面已經列好了安裝的包和對應版本,以此這里需要將它復制到“Emotion Recognition”檔案夾下,

為確保下面的步驟正確進行需要確認幾點:第一,“Pypackage”檔案夾和“setup.txt”檔案處于解壓的“Emotion Recognition”檔案夾下;第二,終端路徑處于“Emotion Recognitive”路徑下,第三,終端已處于新建的“emo_rec”環境下,大致如下圖所示的樣子:

在這里插入圖片描述

(2)這樣我們只需使用pip安裝setup.txt檔案中列出的依賴包就行了,在當前終端輸入如下代碼并回車,正式開始離線包的安裝,

pip install -r setup.txt --no-index --find-links=./Pypackage/

以上代碼的意思是使用pip安裝setup.txt檔案中列出的包,并且指定了離線安裝包的目錄在當前目錄的Pypackage檔案夾下,如下圖所示:

在這里插入圖片描述
(3)鍵入代碼并回車后等待依賴包安裝好即可,一般安裝成功顯示情況如下:

在這里插入圖片描述
至此其實我們已經通過離線依賴包的方式為我們自己新建和命名的環境"emo_rec"安裝上了需要的第三方依賴庫,讀者可以看出前面的步驟和我們平時配置環境基本是一致的,只不過步驟(2)那里加了條件指定了下好的安裝包而已,這樣其實避免了線上安裝可能出現的許多問題,

3.3 在PyCharm中配置環境

(1)開始配置環境,現在我們只需要在PyCharm中指定剛剛安裝好的環境為表情識別專案的運行環境即可,點擊“File”選單,選擇“Setting”選項,在“Project”中找到“Python Interpreter”,如果之前沒有配置過此時環境顯示應該還是空的;

在這里插入圖片描述
(2)點擊環境下拉選框(下圖紅色2處),點擊下拉框下方的“Show All…”,彈出環境顯示界面,點擊左下角的“加號”圖示,進入Python環境選擇界面,選中“Conda Environment”,選中“Existing environment”(如下圖第6步),此時可選擇3.2節中創建好的conda環境,該地址為“anaconda安裝目錄\envs\你的環境名\python.exe”,最后點擊“OK”;

在這里插入圖片描述
一般情況下我們剛裝好conda環境,上圖紅色7處會自動幫我們選上這個環境,如未出現它一般可以在你的anaconda安裝目錄下conda檔案夾,其中有個“envs”檔案夾,可以在里面找到環境名的檔案夾,選中python.exe就行了,

(3)點擊OK后,此時安裝好的依賴包就都能夠在環境界面上看到了,如下圖,點擊“OK”即可

在這里插入圖片描述
(4)由于后面更新導致Keras這個包中的saving.py檔案不兼容了,因此我們需要將前面下載的“Pypackage”檔案夾中的“saving.py”檔案復制到“你的anaconda安裝目錄\conda\envs\emo_rec\Lib\site-packages\keras\engine\”檔案夾下(emo_rec是環境名),替換掉原來的“saving.py”檔案:

在這里插入圖片描述
(5)一番操作過后,我們可以打開左側檔案欄中的"runMain.py"檔案代碼,并在編輯器中右擊,選擇“Run runMain”,即可運行代碼

在這里插入圖片描述

(6)至此程式可以成功運行了,界面如我下面的演示圖:

在這里插入圖片描述


結束語

由于博主能力有限,博文中提及的方法即使經過試驗,也難免會有疏漏之處,希望您能熱心指出其中的錯誤,以便下次修改時能以一個更完美更嚴謹的樣子,呈現在大家面前,Python軟體的安裝網上教程也有很多,其安裝步驟不必千篇一律,由于多方面因素,不同的人安裝也可能不太一樣,因此若如出現安裝失敗的情況也是正常的,保持平常心,解決問題才是最重要的,同時如果有更好的實作方法也請您不吝賜教,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/281314.html

標籤:其他

上一篇:STL--vector模擬實作

下一篇:國內,首套,成體系,技術博客寫作專欄發布啦

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more