【每天学点AI】前向传播、损失函数、反向传播

thbcm阅读(300)

前向传播是神经网络计算的基础步骤,它涉及将输入数据逐层传递,通过神经网络的权重和激活函数,最终输出预测结果。这个过程包含
“样本数据输入、算法模型、输出”这几个步骤。

鸿蒙Navigation拦截器实现页面跳转登录鉴权方案

thbcm阅读(310)

那么我们有没有一种更好的方案来处理登录鉴权问题呢?首先我们先梳理一下我们想要的效果,我们的目的是要跳转到相应的目标页,目标页是否需要先登录,我们是不太愿意关注的,最好是内部自己处理掉,,若没有登录,就先进行登录,登录成功后,继续后面的行为,外面使用的地方尽量做到无感知。总结一下就是进行页面跳转时,内部先判断一下状态,然后再进行后续的行为,而这恰好是Navigation拦截器的功能。

Visual Studio 快速分析 .NET Dump 文件

thbcm阅读(331)

本文将详细介绍如何使用 Visual Studio 分析 .NET 应用程序的内存转储文件(.dump 文件),以便诊断内存泄漏、性能问题或其他运行时异常。

由C#委托回调想到的二三事

thbcm阅读(282)

大事件发生:

在测试过程中,数据的动态加载以及UserControl的切换展示没有问题。但随着切换次数的增加,界面变得越来越卡顿。

此时的我心中顿时警铃大作——有些该被释放掉的资源没有被释放掉?!但是每次进行界面切换,我都会调用Clear方法,将PanelControl里面的对象清空(PanelControl.Clear();),这时我开始怀疑UserControl对象仍在被主程序引用,系统无法进行GC.Collect(),对象没有被回收。


测试:

我在UserControl中的订阅方法里增加一行Console.WriteLine方法,进行测试。

理想情况下每切换一次UserControl,会调用一次委托,让UserControl绑定的委托方法输出一条信息。测试却发现,第一次会输出1条、第二次输出2条、第三次输出3条…

这说明了除了第一次调用委托方法,后面每次调用都有不止一个对象在响应且数量依次增加,看来确实是每次的UserControl都没有被成功回收。

结合.NET的垃圾回收机制,断定UserControl对象还在被主程序引用,导致没有被成功释放,可鞥是没有解除委托与方法的绑定造成的。

我将针对这个问题做了以下优化:

修改以下代码:

自动化构建镜像:Packer

thbcm阅读(331)

不论在本地还是在云上构建虚拟机镜像,都需要很多手动操作步骤,而Packer就是为了构建镜像自动化,和Terraform一样都是HashiCorp公司出品,官网地址:
https://www.packer.io/,在官网首页还提出了镜像即代码(Images as code)的概念,支持虚拟机和容器镜像构建,我体验了一下容器构建过程,相比dockerfile略显复杂难懂,推荐容器镜像还是写dockerfile,用Packer来构建虚拟机镜像,容器构建之前已经实现了自动化,虚拟机镜像构建还是手动操作,Packer能大大提高效率。下面进入实操演示。

联系我们