神经网络从零到熟练——水果分类学习

原创!!转载请标明原地址!!

主要靠自学,网上资源很多,有问题多上网查查95%都能靠自己解决

一、具体学习内容:

1.学习python和tensorflow

https://morvanzhou.github.io/

python基础学习:莫烦python的“python基础”->“基础”这个模块,这块学完了就OK(1~2天 学完)

tensorflow基础学习:莫烦python的“机器学习”->“神经网络”->“Tensorflow”这个模块,只用看1-29了解什么是CNN,以及其中的各个模块(在看这个视频的时候讲到分类时有一个mnist数字识别,自己写一下这个代码,整体时间需要1周)

2.水果分类

https://github.com/Horea94/Fruit-Images-Dataset

水果分类的数据和代码来自于上面这个链接,它现在已经有75类水果了,介于苹果的种类比较多,可以去掉部分苹果数据,两个人每人33类水果做分类。

由于数据噪音不多,这个分类的代码很简单,由4个卷积层和2个全连接层得到。

根据前面两个同学的经验,简单的网络准确率能到95%。

自己实现一下简单的网络:从文件夹读数据、编写网络结构、保存模型和结果、训练测试这几个方面。(1周时间)

后面有两种选择,主要看时间充裕与否:

1.学习resnet网络,从理论到实践,自己写结构(1~2周)

2.调用keras的VGG,densenet,resnet各种接口,学会使用各种网络,并比较结果(1周)。这里需要再回到莫烦python中学习部分keras相关代码。

如果后面还有时间,还有一些网上爬下来的背景比较复杂的水果图片,需要筛选数据以及调整网络(数据比较少非常容易过拟合)

提醒大家!!不是代码写完了就完事了,要想准确率高效果好最重要的是调参!!简单的调参一两天,难做的调参一个月!!不要想的那么简单!

二、安装代码以及常用命令:

1.windows系统下载xshell和winscp 

Mac系统下载iterm和Filezilla(请不要开代理FQ)

前者是linux终端,输命令使用,后者是linux和本地windows或mac传文件用的。

2.一般情况下是在本地写好代码传到linux服务器上运行,本地写代码的软件可以用pycharm(很好用的ide)。

3.linux上每个人的账户下需要安装anaconda和tensorflow。尽量安装最新版。

(1)anaconda https://www.anaconda.com/download/#linux

 

下载之后拖到自己名字命名的文件夹下

安装anaconda命令:  bash ××.sh

(2)安装tensorflow命令: conda create -y -n tf18env27 numpy scipy tensorflow-gpu=1.8 ipython

每次运行都要先激活环境source activate tf18env27 跳出该环境时 source deactivate tf18env27 这个 tf18env27 名称如果不记得了可以通过在命令行输入 conda info -e看到

 其他的模块需要安装都用conda install ×× 例如 conda install opencv 装了之后命令行输入conda list就可以看见你新装的模块了

4.运行代码

直接运行:python yourcode.py

后台运行:nohup python -u yourcode.py > yourcoderesult.log &

ipython调试:首先在终端下输入ipython,然后run -d yourcode.py 

                         c 直接运行;n 运行下一行;break 123 在123行加入断点; clear 2 清除第二个断点; ll显示所有代码;s 进入到该函数

5.tensorflow运行代码时占用GPU

os.environ["CUDA_VISIBLE_DEVICES"] = '0'
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.5)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

 自觉在自己的代码前加上这三句话,每个人只占一张GPU。

Wish you a good time!

猜你喜欢

转载自www.cnblogs.com/amarr/p/9281420.html