人工智能: 手把手教你运行机器学习代码(EGNet)

手把手教你运行EGNet


建立信心

各位广大刚刚开始学习人工智能的小伙伴们,看到矩阵运算,梯度下降,损失函数,等等等大量的公式推导已经足够头疼,更不用说论文里面各式各样复杂的网络结构。
为此我认为建立信心,培养兴趣,是一块必要的敲门砖。
长文警告,建议先收藏起来。
所以先来感受一下前沿科技的力量。


咱们先来看看结果蛤

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有趣吧,计算机也可以像人一样看到图片中显著的地方



你准备好了吗?


你需要有的配置

1. Ubuntu18.04
2. Python 3.6

 当然还有代码需要的各种python库,后面会提到

3. Pytorch 1.2.0

 这样可以验证一下是否成功安装好 pytorch

在这里插入图片描述
4.Pycharm

记得把Pycharm中的python配置好哦


开始吧


1.资源

传送门: go.

1.github是个神奇的地方,去那里下载代码,放到你想放的地方,解压文件夹,复制。
下载githu代码的地方
2.找到你的Pycharm的工作目录,我的呢是在这里
/home/avicii/PycharmProjects/untitled2
把下载的代码粘贴进去,OK。

完成后呢,效果是这样的


2.python库

. 安装需要的python库
然后勒,打开EGNet-master目录,打开所有后缀名是py的文件
在这里插入图片描述
看看在每一个文件中代码开头那些 import 什么什么 或者 form什么 import 什么 下边有划红线,说明你的python还没有安装那些库。
比如我要安装 numpy。打开Terminal,用以下的一条命令就可以,方便快捷。

pip install numpy

不太了解 pip
给!传送门.

咱们来下载一下,中间有什么不了解和意外,求助度度,耐心一点直到把所有的Pycharm中的提示的bug处理掉。


3.查看ReadMe文件

每一个github上的项目下面都有一个README.md,相当于使用说明书或者是作者想要告诉我们的事情。

咱们来看看EGNet的ReadMe文件中我们需要的—如果进行测试
在这里插入图片描述

1. 下载预训练模型
作者提供了两种的下载方式,下载下来,把已经训练好的模型放到代码的目录,也就是这里
在这里插入图片描述

2. 更改dataset.py中的测试图像路径
本文主要在于怎么使用,篇幅所限,没有介绍每一部分代码中的作用。读者可以选择把所有的源码理解下来,欢迎一起讨论。


重点来了!!!


我们需要改动的地方在这里,所有数据集路径配置,大家可以后面按需更改。
dataset.py中的

在这里插入图片描述


在这里插入图片描述

一.self.image_root 表示的是数据集所在的目录
首先呢,
给大伙ECSSD和HKU-IS数据集: 接住. 3iuv

太正经啦,咱们也可以用自己的图片,像一开始结果展示的那样。这里的例子,我也是介绍用自己的图片来做输入的,用数据集呢,也是类似的步骤哈。

然后呢,
建议像作者一样建立一个dataset的目录,我的呢,是这样的
/home/avicii/dataset/DUTS/DUTS-TE/DUTS-TE-Image/
在这里插入图片描述
像图片这样,在self.image_root更改自己的路径就Ok啦。
在这里插入图片描述

二.生成test.lst文件

self.image_source 表示的是test.lst(记录每一张图片路径信息的文件,后面我会给大家提供生成文件的代码,一条龙服务)的路径。

好了,把你需要测试的图片放好了吗?

那咱们就可以用这个代码来生成 .lst 文件了,她是这样的(绝对路径)。
在这里插入图片描述

import os

print("我能为您生成一个获取指定目录下所有文件的绝对路径加文件名并一行行保存的文件")
print("---------------------------------------------------------------")

#path = "/home/avicii/dataset/DUTS/DUTS-TE/DUTS-TE-Image"
path = input("请输入数据集的文件地址: ")
print()

#desktop_path = "/home/avicii/dataset/DUTS/DUTS-TE"
desktop_path = input("请输入图片信息保存文件的地址: ")
print()

#file_name = 'test.lst'
file_name = input("请输入指定文件的文件(加上后缀名): ")
print()

full_path = desktop_path + '/' + file_name # 文件地址和文件名

if not os.access(full_path, os.F_OK):   # 判断文件是否存在
    file = open(full_path, 'w')

    # 获取指定目录下文件的文件名,加上绝对路径,一行一行写入指定文件中
    for root, dirs, PicNameList in os.walk(path):
        #print(PicNameList)
        for picname in PicNameList:
            full_picpath = root + '/' + picname + '\n'
            #print(full_picpath)
            file.write(full_picpath)

        file.close()
        print("成功!")
else:
    print("您输入的文件已经存在,请重新输入")

然后把
我们需要配置的第二个地址 self.image_source 更改成 .lst 文件的路径就可以啦。

三.self.test_fold 表示的是 显著性图也就是结果所放的路径


4.显著性图

3. 用以下方式为python3 run.py --mode test --sal_mode s为SOD数据集生成显著性图,用python3 run.py --mode test --sal_mode p 为PASCALS 数据集生成显著性图等等

万事俱备,用打开Pycharm里面的Terminal,到EGNet目录下
在这里插入图片描述
就差你的一句话

python3 run.py --mode test --sal_mode t

在这里插入图片描述
完成了吗?
如果是,相信你会像我那时一样欢喜。
如果不是,别灰心,解决自己的问题是必不可少的能力,最后你也会成功的。


5.量化评估

使用公开的源码来评估结果

看看大伙的反响如何,如果还不错,再来更新显著性检测的量化评估吧。
先把结果放上去吧
感觉有点错误是吗? 解释:为了简化未来如果有介绍这个评估,没有去比较其他方法在这些数据集上的效果,两条曲线表示相同的输出的评估结果。保持这篇文章的风格一致。

ECSSD

在这里插入图片描述
在这里插入图片描述

MeanValue
aveMAX0.037
maxF0.929

HKU-IS

在这里插入图片描述
在这里插入图片描述

MeanValue
aveMAX0.038
maxF0.916

如有错误,还请指出,诚惶诚恐,不胜感激!
也欢迎互相认识,共同学习,我的荣幸!
在这里插入图片描述在这里插入图片描述
转载,引用请注明来源,侵权必纠。
图片侵删

  • 14
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值