毕业论文

当前位置: 毕业论文 > 范文 >

参数(parameters)和超参数(hyperparameters)是什么意思

时间:2018-10-20 20:53来源:优尔论文
在机器学习或者深度学习领域,参数和超参数是一个常见的问题,个人根据经验给出了一个很狭隘的区分这两种参数的方法。 参数:就是模型可以根据数据可以自动学习出的变量,应该

在机器学习或者深度学习领域,参数和超参数是一个常见的问题,个人根据经验给出了一个很狭隘的区分这两种参数的方法。

参数:就是模型可以根据数据可以自动学习出的变量,应该就是参数。比如,深度学习的权重,偏差等
超参数:就是用来确定模型的一些参数,超参数不同,模型是不同的(这个模型不同的意思就是有微小的区别,比如假设都是CNN模型,如果层数不同,模型不一样,虽然都是CNN模型哈。),超参数一般就是根据经验确定的变量。在深度学习中,超参数有:学习速率,迭代次数,层数,每层神经元的个数等等。毕业论文
通过TestNG实现参数话常用两种方式,一种是借助 @Parameters读取testng.xml中参数,一种是使用@DataProvider注解传参。

此次主要讲解XML传参,语法:在java类中定义参数名@Parameters({ "paraName" });在TestNG.xml中设置参数值<parameter name="paraName"  value="paraValue"/>

以下为关键代码部分,柠檬黄色标记部分是具体传参代码

1.传一个参数

testDemo.java

@Parameters({ "first-name" })
@Test
public void testSingleString(String firstName) {//对应parameters只有一个参数
  System.out.println("Invoked testString " + firstName);
}

testng.xml

<suite name="Suite" parallel="false">
  <parameter name="first-name"  value="Cedric"/>
  <test name="Simple example">
    <classes>
      <class name="**.testDemo"/>
    </classes>
  </test>
</suite>

2.传多个参数

testDemo.java

@Parameters({ "userName", "password" })
@BeforeMethod
public void beforeTest(String userName, String pwd) {
    System.out.println("参数userName值为:"+userName);
    System.out.println("参数password值为:"+pwd);
}

testng.xml

<suite name="Suite" parallel="false">
  <parameter name="userName"  value="admin"/>
  <parameter name="password"  value="123456"/>
  <test name="mulParameters">
    <classes>
      <class name="**.testDemo"/>
    </classes>
  </test>
</suite>

3.使用默认值

testDemo.java

@Parameters("db")
@Test
public void testNonExistentParameter(@Optional("mysql") String db) {
     System.out.println("数据库为:"+db);
}

testng.xml

<!-- 无name=“db”的parameter ,testDemo中直接读取默认值“mysql”-->
<suite name="Suite" parallel="false">
  <test name="demo">
    <classes>
      <class name="**.testDemo"/>
    </classes>
  </test>
</suite>

打印结果   数据库为:mysql

备注:

    只有已使用 @Test, @Before/After or @Factory 注解的方法可以使用@Parameters.
    参数有作用域,在 testng.xml中,参数在 <suite> 或 <test>标签下赋值. 如果有同名参数, <test> 标签下参数优先级高. 参数(parameters)和超参数(hyperparameters)是什么意思:http://www.youerw.com/fanwen/lunwen_24638.html
------分隔线----------------------------
推荐内容