2019.5.6激活函数

本文介绍了激活函数在神经网络中的作用,即加入非线性因素,提高模型表达能力。阐述了激活函数的性质,如单调可微、限制输出值大小等。详细介绍了线性、sigmoid、双曲正切、ReLU、softmax等激活函数的特点、优缺点及代码实现,并给出了激活函数的选择建议。

一、激活函数的作用
激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题
参考:激活函数作用
二、激活函数的性质
(1)单调可微
(2)限制输出值的大小
(3)非线性
三、分类
1.线性函数
方程:f(x)=ax+b
代码:def linear (x,a,b)
return a*x+b
2.sigmoid 函数
函数式:
在这里插入图片描述
优点
(1).sigmoid函数输出映射在[0,1]之间,输出还可以被表示作概率,或用于输入的归一化
(2).sigmoid函数连续,光滑,严格单调,以(0,0.5)中心对称,是一个非常良好的阈值函数
缺点
(1).sigmoid也有其自身的缺陷,最明显的就是饱和性。从上图可以看到,其两侧导数逐渐趋近于0
(2).输出分布不均匀,存在偏差
代码:
def sigmoid (x,w=1):
return 1/(1+np.sum(np.exp(-wx))
3.双曲正切函数
函数式:
在这里插入图片描述
tanh也是一种非常常见的激活函数。与sigmoid相比,它的输出均值是0,使得其收敛速度要比sigmoid快,减少迭代次数。然而,从途中可以看出,tanh一样具有软饱和性,从而造成梯度消失。
4.Relu 函数
函数式:在这里插入图片描述
可以看到,当x<0时,ReLU硬饱和,而当x>0时,则不存在饱和问题。所以,ReLU 能够在x>0时保持梯度不衰减,从而缓解梯度消失问题。这让我们能够直接以监督的方式训练深度神经网络,而无需依赖无监督的逐层预训练。
参考:激活函数
5.softmax 函数
主要用于分类问题
函数式:
softmax(x)=exp(x)/sum(exp(x))
代码 :
def Softmax(x):
return np.exp(x)/np.sum(np.exp(x))
四、激活函数的选择
一般隐层选择leak relu,
tanh函数可以代替sigmoid函数注意观察精确度的曲线图
如果使用Relu 函数,梯度下降算法的学习率不能太大,
输出层一般使用softmax获得高概率的输出结果

<think>我们正在处理用户关于Unity2019.x版本配置VisualStudio的问题。根据引用[1]和引用[3],我们知道安装UnityHub是推荐的步骤,并且需要安装VisualStudio2022(虽然用户提到的是2019.x,但VisualStudio的安装是类似的)。同时,引用[2]提到了Unity2019.1的特性,所以我们配置时要考虑这个版本。用户的需求是:在Unity2019.x中配置VisualStudio的详细步骤。注意:Unity2019.x通常与VisualStudio2019兼容性最好,但也可以使用VisualStudio2022(需要确保安装了相应的支持)。不过,为了最佳兼容性,我们推荐使用VisualStudio2019。步骤:1.安装UnityHub(如果还没有安装):根据引用[3],建议在安装前关闭杀毒软件,并创建安装目录(如D:\Unity\...)。然后从Unity官网下载UnityHub并安装。2.安装Unity2019.x版本:在UnityHub中,选择安装->添加模块,选择Unity2019.x的某个版本(例如2019.4LTS)进行安装。在安装时,确保勾选“MicrosoftVisualStudioCommunity2019”支持(如果安装程序提供了这个选项)[^3]。3.安装VisualStudio2019:如果还没有安装VS2019,需要下载并安装。根据引用[1],下载VisualStudio2019社区版(免费)。安装时,必须选择以下工作负载:-使用Unity的游戏开发-.NET桌面开发(可选,但推荐)注意:在安装VisualStudio时,确保勾选了“Unity支持”相关的组件。4.在Unity中配置外部工具:打开UnityEditor,进入Edit->Preferences->ExternalTools。在“ExternalScriptEditor”下拉菜单中选择“VisualStudio2019”(如果安装了多个版本,确保选择2019)。5.安装VisualStudioToolsforUnity(VSTU):在VisualStudio2019中,这个扩展通常已经包含在“使用Unity的游戏开发”工作负载中。但如果没有,可以手动安装:打开VS2019,点击“扩展”->“管理扩展”->搜索“VisualStudioToolsforUnity”并安装。6.验证配置:-在Unity中创建一个C#脚本,双击打开,应该会在VisualStudio2019中打开。-尝试编写一些UnityAPI代码(如Debug.Log),检查智能感知是否正常。-尝试调试:在VisualStudio中设置断点,然后按F5启动调试,Unity应该会进入调试模式。7.常见问题解决:-如果Unity无法识别VS2019:检查UnityHub中对应Unity版本的模块是否已经安装了VisualStudio编辑器支持(在安装Unity时勾选)。-调试问题:确保在VisualStudio中安装了Unity调试包(在VS的“工具”->“选项”->“UnityTools”中检查)。-如果出现引用错误(红色波浪线),可能是Unity没有生成项目文件。尝试在Unity中重新生成项目文件:Assets->OpenC#Project,或者Edit->Preferences->ExternalTools->点击“Regenerateprojectfiles”。注意:引用[4]提到预编译头文件的问题,但这个问题通常出现在C/C++混合编程中,在Unity的C#项目中很少出现。如果遇到类似问题,可以尝试删除解决方案中的某些冲突文件夹(如obj、Library等)并重新生成。由于用户使用的是Unity2019.x,我们特别要注意引用[2]中提到的特性(如LWRP和ShaderGraph),但这些特性不影响VS的配置,所以可以忽略。因此,我们给出以下步骤:</think>### Unity 2019.x 配置 Visual Studio 详细步骤 #### 一、环境准备 1. **安装 Unity Hub**(必需前置步骤)[^3] - 关闭杀毒软件避免干扰 - 创建安装目录:`D:\Unity\`(推荐非系统盘) - 从[Unity官网](https://unity.cn/releases)下载Unity Hub安装程序 - 登录Unity ID完成激活[^1] 2. **安装 Unity 2019.x** - 在Unity Hub中: `安装` → 选择`2019.4 LTS`版本(推荐稳定版) ![Unity版本选择](https://docs.unity3d.com/uploads/Main/UnityHubInstalls.png) - **关键操作**: 在安装模块中勾选 **Microsoft Visual Studio Community 2019** 支持[^3] 3. **安装 Visual Studio 2019** - 下载VS2019社区版(免费) - 安装时勾选工作负载: ✅ `使用 Unity 的游戏开发` ✅ `.NET 桌面开发` ✅ `通用 Windows 平台开发`(UWP项目需要) - 额外组件: ✅ **Unity 工具包**(自动包含在游戏开发负载中) #### 二、核心配置流程 ```mermaid graph TD A[启动Unity Editor] --> B[Edit > Preferences] B --> C[选择 External Tools] C --> D{External Script Editor} D --> E[选择 Visual Studio 2019] E --> F[点击 Regenerate project files] ``` 1. **Unity 绑定 VS** - 打开 Unity Editor → `Edit` → `Preferences` → `External Tools` - 设置 **External Script Editor** 为 `Visual Studio 2019` - 点击 **Regenerate project files** 按钮[^3] 2. **验证编辑器关联** - 在Project窗口右键创建C#脚本 → 双击脚本文件 - 正确配置时将自动在VS2019中打开 #### 三、调试功能配置 1. **启用 Unity 调试器** - 在VS2019中: `调试` → `附加 Unity 调试器` ![附加调试器](https://docs.microsoft.com/zh-cn/visualstudio/gamedev/media/vstu-debugging-attach-to-unity.png) 2. **断点测试** - 在VS中脚本内设置断点(如`Start()`方法) - 按 `F5` 启动调试 → 返回Unity点击Play - 观察是否在断点处暂停 #### 四、常见问题解决 | 问题现象 | 解决方案 | |---------|----------| | 双击脚本无法打开VS | 在Unity中执行:`Assets > Open C# Project` | | API 无智能提示 | 删除项目`Library`文件夹后重启Unity[^4] | | 调试器无法附加 | 检查VS扩展:`工具 > 扩展` 确保 **Visual Studio Tools for Unity** 已启用 | | 编译错误 MSB4019 | 在VS安装器中添加 **.NET Framework 4.7.2 开发工具** | > **版本兼容性说明**: > - Unity 2019.1+ 支持新渲染管线(LWRP/HDRP)[^2],但VS配置流程不变 > - 若使用Shader Graph,需额外安装VS的HLSL插件 #### 五、优化建议 1. **代码补全增强** - 安装VS扩展:`Rider for Unity`(免费)或`ReSharper` 2. **Shader 开发支持** - 安装 `ShaderLabVSC` 扩展(支持.shader文件高亮) 3. **快速代码生成** - 使用快捷键 `Ctrl+Shift+M` 插入Unity生命周期函数 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值