深度学习初级项目:
Emojify – Create your own emoji with Deep Learning 通过深度学习创建你自己的表情
本文旨在描述源代码运行中出现的问题,并给出解决方法。
https://data-flair.training/blogs/create-emoji-with-deep-learning/
win11(3060 laptop)+cuda11.6+tensorflow-gpu 2.8.0
方案一:面部表情数据集原始地址下载 https://www.kaggle.com/msambare/fer2013
方案二:如果懒得下载,可以使用百度云保存,我的百度云面部表情数据集
链接:https://pan.baidu.com/s/1L24UWmPPmq8_Pppu5nQDjA?pwd=t5vo
提取码:t5vo
方法一:源代码下载 https://data-flair.s3.ap-south-1.amazonaws.com/Data-Science-Code/emoji-creator-project-code.zip
方法二:百度云源代码下载
链接:https://pan.baidu.com/s/1-Nubo75goGHKpNIzQdXCLA?pwd=bks4
提取码:bks4
文件的目录如下所示:
运行文件是下载的源代码中的train.py文件。
但是根据源代码train.py运行,可能会存在一些问题,我把我的解决方法罗列出来。
如果出现错误1:
from keras.emotion_models import Sequential
ModuleNotFoundError: No module named ‘keras.emotion_models’
解决方法:from keras.emotion_models import Sequential 这个代码有问题,修改为 from keras.models import Sequential即可。
如果出现错误2:
from keras.optimizers import Adam
ImportError: cannot import name ‘Adam’ from ‘keras.optimizers’
解决方法:把 from keras.optimizers import Adam 改为 from keras.optimizers import adam_v2,然后把调用Adam的地方emotion_model.compile(loss=‘categorical_crossentropy’,optimizer=Adam(lr=0.0001, decay=1e-6),metrics=[‘accuracy’]) optimizer=Adam ,将其中的optimizer=Adam修改为optimizer=adam_v2.Adam就可以了。
如果出现错误3:
ValueError: (‘Invalid color mode:’, ‘gray_framescale’, ‘; expected “rgb”, “rgba”, or “grayscale”.’)
解决方法:train_generator 和 validation_generator里面的color_mode内容进行修改,改为 grayscale。
代码中的:bounding_box = cv2.CascadeClassifier(‘/home/shivam/.local/lib/python3.6/site-packages/cv2/data/haarcascade_frontalface_default.xml’)也需要修改,括号里面的地址需要改成自己的anaconda虚拟环境的当前地址,每个人的安装位置可能不太一样。比如我的是:D:/Program Files (x86)/Anaconda3/envs/tensorflow2-gpu/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml。
至此代码应该可以运行,应该是会进行训练,但是训练过之后可能会出现其他问题。
如下图所示表示开始训练
训练结束之后。。。。
如果出现错误 module ‘cv2’ has no attribute ‘COLOR_BGR2gray_frame’ ,则把gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2gray_frame)修改为gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)。
如果出现错误 module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘ ,需要先卸载opencv-python,卸载命令 pip uninstall opencv-python,然后安装 pip install opencv-python install "opencv-python-headless<4.3"
。
训练结束,会自动弹出电脑摄像头的检测框,检测你的面部表情,你可以做一些鬼脸看看检测情况,想退出的话,按 q 退出。