Semantic Backpropagation for Designing Search Operators in Genetic Programming在ECJ上的实现

1、在论文的源码链接上下载好代码,解压,并使用eclipse导入(使用现有文件建立项目)。文件的路径最好全是英文且符合代码的文件名风格。

2、刚下载下来的代码,解压后可以直接用(可以直接跑tutorial里面的程序),但是也是需要在eclipse的run configuration 的 argument里面设置好参数的路径。.params文件的绝对路径。 如:

3、论文的代码还不可以直接跑,因为它是在unix上面实现的,而我是在window上面实现的,所以有可能出现“系统找不到指定的路径”这样的错误。这时需要我们输出这个路径,看看它是在params文件里面哪里用了,然后改成我们window的绝对路径,如“D:\\results\”。

4、论文的主要参数的位置在这个网址http://www.cs.put.poznan.pl/tpawlak/link/?IEEESemanticBackprop上有提及。

5、而且网上提供的源码还是有bug的,譬如一开始运行时,会出现

这样的错误。查找了Arguments的参数文件及其继承的params文件都没有发现selection有定义使用ec.gp.semantic.select.SemanticTournamentSelection这样的类,而且项目中也的确没有这个java类。同时,先于NHX定义的LGX没有这个错误,所以觉得错误应该出现在与NHX相关的文件中。容易定位到,在NHX.params中,就定义使用了这个selection方法,因此我们需要把它改为gp.breed.NHX.source.0  = ec.select.TournamentSelection 

6、还有一个错误

黑色的p, d, s 是我在BreedingPipeline.java的错误位置输出的。  通过查找项目的文件夹,还有在eclipse中都没有发现有关LM这个类的定义(论文里面也没有),所以我想到的解决方法就是把它删掉。这些类列表是在semantic.params里面定义的,所以我们只需要改一下这个参数文件即可。如图

这样运行eclipse就可以得到结果了。

 

在论文提供的代码中,以Kozafitness,即误差绝对值的平均作为fitness (standard fitness)。

调用论文方法是通过修改semantic.params 文件中的

这些参数(包括那个概率)来实现的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PointNet是一种用于处理点云数据的深度学习模型,可以实现对点云数据的语义分割。Semantic3D数据集是一个广泛使用的点云语义分割数据集,其中包含不同场景的点云数据和对应的语义标签。 在Semantic3D数据点云分割中,PointNet模型可以将点云数据转换为高维特征表示,并通过神经网络学习这些特征与语义标签之间的关联。首先,PointNet将每个点云坐标进行标准化和重采样,使得点云数据具有相同的规模和采样密度。 在进行语义分割时,PointNet模型可以利用点云数据的局部和全局特征进行学习。对于每个点,模型可以提取其局部邻域的特征,通过构建邻近关系图,在邻域内进行信息传递和聚合。此外,通过对整个点云进行聚合操作,PointNet模型可以学习到全局特征,可以考虑整体的语义信息。 在训练阶段,PointNet模型可以通过最小化语义标签预测和真实标签之间的误差来进行优化。可以使用损失函数,如交叉熵损失函数来定义预测和真实标签之间的差异。通过反向传播算法和优化器,模型可以学习到最佳的特征表示和参数权重,从而实现更好的点云语义分割。 在使用PointNet模型进行Semantic3D数据点云分割时,需要考虑一些问题。例如,要处理大规模的点云数据,需要选择合适的采样策略和网络架构。此外,还需要进行数据增强和正则化技术,以增强模型的泛化能力和抵抗噪声干扰。 总之,PointNet模型在Semantic3D数据点云分割上的应用可以提供一种基于深度学习的有效方法,用于自动化地实现点云数据的语义分割任务。它可以学习到点云数据的关键特征表示,并通过优化算法实现准确的语义标签预测。这对于自动驾驶、机器人导航和三维场景分析等领域具有重要的实际应用意义。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值