2024智能计算系统实验2

关于网络层构建的报错

构建三层网络模型后进行测试出现了以下错误:

Loading parameters from file stu_upload/weight.npy
loading params for layer fc1 ...
loading params for layer fc2 ...
loading params for layer fc3 ...
[2024-3-18 15:10:37] [CNNL] [Warning]:[cnnlBatchMatMul] is deprecated and will be removed in the future release, please use [cnnlBatchMatMulBCast] instead.
Segmentation fault (core dumped)
Segmentation fault (core dumped)一般是由于越界产生

当时的网络层结构如下

# TODO:使用 pycnml 建立三层神经网络结构     
      
        self.net.setInputShape(batch_size, input_size, 1, 1) #设置输入参数
        # fc1
        
        input_shapem1=pycnnl.IntVector(4)  
        input_shapem1[0]=batch_size
        input_shapem1[1]=1
        input_shapem1[2]=1
        input_shapem1[3]=input_size
        weight_shapem1=pycnnl.IntVector(4)  
        weight_shapem1[0]=batch_size
        weight_shapem1[1]=1
        weight_shapem1[2]=input_size
        weight_shapem1[3]=hidden1

        output_shapem1=pycnnl.IntVector(4)  
        output_shapem1[0]=batch_size
        output_shapem1[1]=1
        output_shapem1[2]=1
        output_shapem1[3]=hidden1
    
        self.net.createMlpLayer('fc1', input_shapem1, weight_shapem1, output_shapem1)
        
        #relu1
        self.net.createReLuLayer('relu1')
        #fc2
        input_shapem2=pycnnl.IntVector(4)  
        input_shapem2[0]=batch_size
        input_shapem2[1]=1
        input_shapem2[2]=1
        input_shapem2[3]=hidden1

        weight_shapem2=pycnnl.IntVector(4)  
        weight_shapem2[0]=batch_size
        weight_shapem2[1]=1
        weight_shapem2[2]=hidden1
        weight_shapem2[3]=hidden2

        output_shapem2=pycnnl.IntVector(4)  
        output_shapem2[0]=batch_size
        output_shapem2[1]=1
        output_shapem2[2]=1
        output_shapem2[3]=hidden2
        self.net.createMlpLayer('fc2', input_shapem2, weight_shapem2, output_shapem2)
        #relu2
        self.net.createReLuLayer('relu2')

        #fc3
        input_shapem3=pycnnl.IntVector(4)  
        input_shapem3[0]=batch_size
        input_shapem3[1]=1
        input_shapem3[2]=1
        input_shapem3[3]=hidden2

        weight_shapem3=pycnnl.IntVector(4)  
        weight_shapem3[0]=batch_size
        weight_shapem3[1]=1
        weight_shapem3[2]=hidden2
        weight_shapem3[3]=out_classes

        output_shapem3=pycnnl.IntVector(4)  
        output_shapem3[0]=batch_size
        output_shapem3[1]=1
        output_shapem3[2]=1
        output_shapem3[3]=out_classes
        self.net.createMlpLayer('fc3', input_shapem3, weight_shapem3, output_shapem3)
        #softmax
        self.net.createSoftmaxLayer('softmax', input_shapem3, axis=1)

经过修改隐藏层参数、batch_size、迭代次数后发现不是这些原因引起,
通过使用print定位错误位置,发现在调用forword时出现错误,
通过使用gdb工具检查core只能发现错误来源于.py文件,不能看到在第几行出现了错误。
反反复复,跌跌撞撞。

新的发现

耗时许久,突然在实验手册中看到softmax层传入的参数input_shape是一个长度为3的列表,而之前传入的input_shapem3长度为4。
SoftmaxLayer层定义

经过修改,softmax层如下定义:

        #softmax
        input_shapem4=pycnnl.IntVector(3)  
        input_shapem4[0]=batch_size
        input_shapem4[1]=1
        input_shapem4[2]=out_classes
        self.net.createSoftmaxLayer('softmax', input_shapem4, axis=1)

至此,程序就能跑通了,至于达到100%分数,,,,
(那可能需要在forward函数里加sleep了)
另 macos直接压缩的zip会带有隐藏文件,可以在stu_upload中写一个zip.py进行压缩。
请直接压缩文件,不要压缩文件夹,不然会报找不到文件的错误。

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 智能计算系统实验教程pdf是一本关于智能计算系统实验的教程,它以PDF格式呈现,旨在教授读者有关智能计算系统的知识和实践。 这本教程首先介绍了智能计算系统的基本概念和原理,帮助读者建立对智能计算系统的基本认识。接着,它深入讲解了智能计算系统的各种实验设计和实施过程,涵盖了人工智能、机器学习、模式识别等领域的相关内容。通过实验案例的引导,读者可以学习和掌握智能计算系统的设计方法、实验步骤和数据分析技巧。 在这本教程中,读者将获得实践经验和理论知识的结合,从而更好地理解智能计算系统的工作原理和应用场景。同时,这本教程还提供了实验教材和实验数据,帮助读者进行实验操作和数据分析,为读者提供了一种全面而深入的学习方式。 总之,智能计算系统实验教程pdf是一本介绍智能计算系统实验的综合性教程,它通过理论和实践相结合的方式,帮助读者了解智能计算系统的理论知识和实验方法,提升读者的智能计算系统设计和应用能力。该教程对于学习智能计算系统的人士来说是一本很有价值的参考书。 ### 回答2: 智能计算系统实验教程是一本介绍智能计算系统实验的指导手册,它以PDF格式发布,方便学生和教师在线阅读和下载。这本教程的目的是帮助读者了解智能计算系统的基本原理和应用,并通过实验来加深对这些概念的理解和掌握。 教程的内容涵盖了智能计算系统的基础知识,包括神经网络、遗传算法、模糊逻辑等。每一章节都采用了简洁明了的方式,通过实验案例来讲解相关的理论和方法,以及如何使用相应的工具和软件进行实验。教程还提供了实验步骤和实验数据的分析,帮助读者更好地理解实验过程和结果,从而提高自己的实验能力。 教程中的实验案例涵盖了多个应用领域,包括图像处理、模式识别、数据挖掘等。这些案例旨在让读者通过实践掌握智能计算系统在不同领域中的应用方法和技巧。教程还提供了实验中可能遇到的问题及解决方案,读者可以通过参考这些解决方案来克服实验中的困难。 总之,智能计算系统实验教程是一本帮助读者学习和实践智能计算系统的重要资料。它提供了丰富的实验案例和详细的实验指导,对于想要深入了解和应用智能计算系统的学生和教师来说,是一本不可多得的参考书。通过阅读和实践,读者能够掌握智能计算系统的基本原理和方法,提高自己的实验技能,并在实际应用中发挥智能计算系统的潜力。 ### 回答3: 智能计算系统实验教程pdf是一本有关智能计算系统实验教学的电子书。该教程向读者介绍了智能计算系统的基本概念、原理和实验技能。它包含了多个实验项目,以帮助学生理解和掌握智能计算系统的关键概念和技术。 在智能计算系统实验教程pdf中,读者可以学习到何为智能计算系统,以及其在现代科技中的应用领域。教程通过具体实验案例,展示了智能计算系统的设计、编程和优化技巧。读者可以通过学习这些实验案例,深入了解智能计算系统的原理,并培养解决实际问题的思维能力。 此外,智能计算系统实验教程pdf还提供了实际编程的示例和模板代码,帮助读者快速上手实践。通过跟随教程,读者可以学习如何使用智能计算系统的开发工具和环境,如何实现各种智能算法和技术,并且可以通过实验进行系统性能的评估和改进。 总之,智能计算系统实验教程pdf对于学习和研究智能计算系统的人们来说是一本宝贵的参考资料。它提供了全面而系统实验教学内容,帮助读者掌握智能计算系统的关键知识和技能。无论是初学者还是有一定经验的研究者,都可以从教程中获得很大的收益。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值