当前位置: 首页 > news >正文

有没有好的网站广州网址大全

有没有好的网站,广州网址大全,珠海工程建设信息网站,分类信息免费发布大全前言 之前有写过几篇TensorFlow相关文章#xff0c;但是用的比较底层的写法#xff0c;比如tf.nn和tf.layers#xff0c;也写了部分基本模型如自编码和对抗网络等#xff0c;感觉写起来不太舒服#xff0c;最近看官方文档发现它的教程基本都使用的keras API#xff0c;这…前言 之前有写过几篇TensorFlow相关文章但是用的比较底层的写法比如tf.nn和tf.layers也写了部分基本模型如自编码和对抗网络等感觉写起来不太舒服最近看官方文档发现它的教程基本都使用的keras API这就尴尬了学一波 国际惯例参考博客 官方开始案例 keras比tensorflow差在哪里 其实网上有很多博客了但是为实验了一下跑不起来而且按照官方文档理解的使用算法和网络上的博客又不同比如这位大佬的博客中有这样一行代码 model.add(Dense(input_dim1, output_dim1, inituniform, activationlinear))但是我去找官方文档tf.keras.Dense发现并没input_dim,output_dim这两个参数很多博客都有这样写难道是keras而非是以keras为前端的Tensorflow的参数感觉看着迷迷糊糊还不如自己按照官方文档手撸一波。 学习步骤还是之前的思路线性回归全连接的手写数字分类卷积RNNRBM 【注】如果本地电脑没有TensorFlow环境可以试用官方提供的在线编辑调试网站colab灰常方便而且还能启动GPU和TPU这也太良心了吧在colab的修改-笔记本设置-硬件加速可以启用 线性回归 直接用 $ y3x5$ 这个函数 引入相关包 import tensorflow as tf import numpy as np from tensorflow import keras建立数据集 trXnp.linspace(-1,1,101) trY3*trX5创建模型只具有一个单隐层三种写法其实我更喜欢第三种写法 #写法一 #modeltf.keras.models.Sequential([ # keras.layers.Flatten(), # keras.layers.Dense(1) ]) #写法二 # model keras.Sequential() # model.add(keras.layers.Flatten()) # model.add(keras.layers.Dense(units1,use_biasTrue)) #写法三 inputs tf.keras.Input(shape[1,]) x tf.keras.layers.Dense(1)(inputs) model tf.keras.models.Model(inputsinputs,outputsx)这里注意的就是层的使用方法了首先要用Sequential建立一个序列容器然后再将模型逐层add进来Flatten是展平向量Dense是全连接。或者第三种方法tf.keras.models.Model将输入输出嵌入模型中。 【注意】 写法一和二是无法直接打印网络结构的因为没指定网络输入大小或者没开始训练强行打印的方法就是在Sequential的第一层加入input_shape[x,x]这样的参数比如 modeltf.keras.models.Sequential([keras.layers.Dense(1,input_shape[1,]) ])这样上述三种方法都可以用model.summary()打印网络结构了。 编译优化算法 model.compile(optimizertf.train.RMSPropOptimizer(learning_rate0.01),lossmse,metrics[mae])这里需要注意的是三个参数optimizer不建议直接写adam,sgd之类的最好是用tf自带的优化器loss表示损失这个不太清楚MSE在tf中怎么点出来只好用mse的形式写了评估函数是mae这个回头看看怎么去掉引号 训练 model.fit(trX,trY,epochs1000)查看权重 以上基本是完成了参数学习过程有时候我们希望看看参数这里可以先输出每层的名称看看都存了啥 print(model.layers)[tensorflow.python.keras.layers.core.Flatten object at 0x0000027AED6A3978, tensorflow.python.keras.layers.core.Dense object at 0x0000027AED6A3D68]我们需要的权重在第二个layers里面因为从0开始编号所以取权重的方法是 model.layers[1].get_weights()[array([[2.987659]], dtypefloat32), array([5.0043736], dtypefloat32)]很容易发现不仅把权重输出了偏置项也在 评估模型 我们也可以制作训练集查看误差 model.evaluate(trX,trY)101/101 [] - 0s 594us/step [4.496799705845147e-07, 0.000640394664046788]感觉第一个应该是损失第二个是误差 预测数值 输入10那么y3*10535 model.predict([10])array([[34.997227]], dtypefloat32)基本的使用都在这里了相对于使用更底层的TensorFlow代码貌似用keras更加方面了尤其是建立模型和预测结果上 分类 导入相关包 import tensorflow as tf导入数据手写数字 mnisttf.keras.datasets.mnist (x_train,y_train),(x_test,y_test)mnist.load_data() x_train,x_testx_train/255.0,x_test/255.0#归一化创建模型 #创建模型 modeltf.keras.models.Sequential([tf.keras.layers.Flatten(),tf.keras.layers.Dense(512,activationtf.nn.relu),tf.keras.layers.Dropout(0.2),tf.keras.layers.Dense(10,activationtf.nn.softmax) ])编译优化算法 #编译模型 model.compile(optimizeradam,losssparse_categorical_crossentropy,metrics[accuracy])训练和评估 model.fit(x_train,y_train,epochs5) model.evaluate(x_test, y_test)Epoch 1/5 60000/60000 [] - 15s 250us/step - loss: 0.2026 - acc: 0.9406 Epoch 2/5 60000/60000 [] - 13s 213us/step - loss: 0.0809 - acc: 0.9751 Epoch 3/5 60000/60000 [] - 13s 209us/step - loss: 0.0524 - acc: 0.9832 Epoch 4/5 60000/60000 [] - 12s 206us/step - loss: 0.0374 - acc: 0.9880 Epoch 5/5 60000/60000 [] - 12s 202us/step - loss: 0.0280 - acc: 0.9913 10000/10000 [] - 1s 70us/step [0.0750152821913769, 0.9798]后记 感觉前面还是不够简化因为学到这里我们在编译模型时只会使用引号定义优化方法作为一名码农还是喜欢点点点地点出来 看官网的介绍 compile(optimizer,lossNone,metricsNone,loss_weightsNone,sample_weight_modeNone,weighted_metricsNone,target_tensorsNone,distributeNone,**kwargs )部分参数描述 optimizer优化器的字符串名字或者优化器实例具体看optimizersloss目标函数的名字或者目标函数看lossmetrics训练或测试模型所使用的评估方法一般使用metrics[accuracy] 当我们点击优化器和loss的时候很容易发现这两个东东都隶属于tf.keras的类尝试点一下 除了最后一个常用accuracy不清楚还能用什么以外差不多已经达到了解放双手的效果我们只需要尝试点点点就能依据智能提示构建一个非常简单的keras模型其实后来想了想有时候我们的目标函数和评估函数是一样的那么能否直接使用tf.keras.losses里面的损失函数作为评估函数呢然后试了一下稳如狗可以但是要注意是列表形式放进去 比如上面分类例子中使用的 model.compile(optimizeradam,losssparse_categorical_crossentropy,metrics[accuracy])可以换成 #初始化一个优化方法实例 optimtf.keras.optimizers.Adam(); #编译模型 #编译模型 model.compile(optimizer optim,losstf.keras.losses.sparse_categorical_crossentropy,metrics[tf.keras.losses.MSE])后记 接下来就要看看如何使用自己的数据去训练keras构建的模型从第一个回归的例子来看好像没有之前学tensorflow一样那么麻烦需要使用比较复杂的数据流。 下节预告构建手写数字分类系统使用卷积的方法并且要能保存和调用模型 本章代码戳这里 记得使用colab打开可以直接运行美滋滋
http://www.pierceye.com/news/244267/

相关文章:

  • 陇南建设网站网站建设大作业选题
  • 外包做的网站 需要要源代码吗福建省法冶建设知识有奖网站
  • 设计网站价格表dns解析失败登录不了网站
  • 代理网址网站与做机器人有关的网站
  • 优惠卷网站怎么做推广歌手网站建设
  • 网站服务器开发西安app软件开发公司
  • 化妆品产品的自建网站哟哪些怎么做提升网站转化率
  • 上海餐饮网站建设百度本地推广
  • 全返网站建设做pc端网站信息
  • 做团购网站需要什么网站建设与管理好处
  • 厦门seo优泰安网站seo推广
  • 做网站如何盈利建站优化信息推广
  • 大气的网站首页网络推广公司优化客
  • 网站建设要经历哪些步骤电商仓储代发招商合作
  • 网站开发如何搭建框架潍坊网站建设公司
  • 免费网页制作网站建设2015年做啥网站致富
  • 个人网站制作基本步骤江阴网站的建设
  • 英文网站名需要斜体吗宁波seo外包费用
  • 网站设计价格公司门户网站建设
  • wordpress如何修改文章路径哈尔滨个人优化排名
  • 拓者设计吧网站科技基金
  • 有专门下载地图做方案的网站吗家装公司报价
  • 阿里域名注册网站阿里云建站保证销售额
  • 三北防护林体系建设网站培训班学员培训心得
  • 西安百度网站排名优化友情链接代码模板
  • 网站建设怎么做网站济南做网站推广有哪些公司
  • 恩阳建设局网站南阳网站建设赛科
  • 服务器IP做网址打开网站传媒公司宣传
  • 安装Wordpress个人网站医院网站建设公司价格低
  • 万能网页编辑器南通百度seo代理