机械CAD/CAM期末复习关键点与题型解析

0 下载量 118 浏览量 更新于2024-06-28 收藏 22KB DOCX 举报
机械CAD/CAM期末复习指导是一份针对机械CAD/CAM课程期末考试的重要复习资料。该课程涵盖了CAD(计算机辅助设计)和CAM(计算机辅助制造)的基本概念、软件构成、语法以及编程方法。考试形式多样,包括选择题、填空题、简答题、阅读理解题和编程题,总计100分,其中编程题和简答题占比较高,体现了对实践技能的重视。 复习要点主要集中在课程的核心章节,如第1章的CAD与CAM基础,介绍了CAD的概念,如决策表和派生式CAPP系统与创成式CAPP系统之间的区别。派生式CAPP依赖于标准工艺规程的检索和编辑,而创成式CAPP则通过计算机自动生成工艺规程,依赖于零件信息和内置的工艺决策。 第7章进一步探讨了CAD/CAPP/CAM集成和CIMS(计算机集成制造系统)技术。该章讲述了集成系统的不同类型,如传统型、改进型和数据驱动型,以及CIMS如何整合人、技术和经营。CIMS技术构成包括MIS(管理信息系统)、CAD/CAPP/CAM、QAS(质量保证系统)和MAS(制造自动化系统),以及数据库和通讯网络两个支撑分系统。 此外,还涉及柔性制造系统(FMS)的基本概念,它是一种能够灵活适应生产需求的系统,其优点在于大幅提高劳动效率、降低生产成本和提高产品质量。复习时应重点关注这些章节中的关键概念、工作原理和实际应用案例,确保在考试中全面理解和掌握相关知识。在准备过程中,不仅要理解理论,还要熟练运用到实际操作中,进行编程练习和案例分析,以提升综合能力。

def Grad_Cam(model, image, layer_name): # 获取模型提取全链接之前的特征图 new_model = nn.Sequential(*list(model.children())[:44]) print(new_model) new_model.eval() feature_maps = new_model(image) # 获取模型最后一层卷积层 target_layer = model._modules.get(layer_name) # 将模型最后一层卷积层的输出结果作为反向传播的梯度 gradient = torch.zeros(feature_maps.size()) # 返回一个形状与feature_maps相同全为标量 0 的张量 gradient[:, :, feature_maps.size()[2]//2, feature_maps.size()[3]//2] = 1 target_layer.zero_grad() # 将模型中参数的梯度置为0 feature_maps.backward(gradient=gradient) # 获取模型最后一层卷积层的输出结果和梯度 _, _, H, W = feature_maps.size() output_activations = feature_maps.detach().numpy()[0] gradients = target_layer.weight.grad.detach().numpy() # 计算特征图中每个像素点的权重 weights = np.mean(gradients, axis=(2, 3))[0] cam = np.zeros((H, W), dtype=np.float32) for i, w in enumerate(weights): cam += w * output_activations[i, :, :] # 对权重进行归一化处理 cam = np.maximum(cam, 0) cam = cv2.resize(cam, (1440, 1440)) cam = cam - np.min(cam) cam = cam / np.max(cam) # 将热力图叠加到原图上 heatmap = cv2.applyColorMap(np.uint8(255 * cam), cv2.COLORMAP_JET) heatmap = np.float32(heatmap) / 255 image = image.detach().numpy() image = np.transpose(image, (0, 2, 3, 1)) img_CCT = cv2.imread("F:/BaiduSyncdisk/python/svm_CCT/picture CCT_CP/2L5830N023_CCT.png") img_CP = cv2.imread("F:/BaiduSyncdisk/python/svm_CCT/picture CCT_CP/2L5830N023_CP.png") img_CCT = cv2.resize(img_CCT, (1440, 1440)) img_CP = cv2.resize(img_CP, (1440, 1440)) cam_img = heatmap + np.float32(img_CCT[0]) cam_img = cam_img / np.max(cam_img) return np.uint8(255 * cam_img) 上述代码不显示热力图,怎么解决

2023-05-26 上传