第一个TensorFlow模型:摄氏度转换为华氏度


今天开始在看Udacity上的TensorFlow入门课程,其中构建的第一个神经网络模型就是将摄氏度转换成华氏度,于是在这里记录一下

公式

已知摄氏度转换成华氏度有数学公式:

f = c * 1.8 + 32

而我们就要在不告知模型这个公式的前提下,通过告知一系列对应的摄氏度与华氏度样例,来训练它以实现摄氏度转华氏度这一功能

import dependencies 导入依赖项

需要引入TensorFlowNumPy库构建神经网络

from __future__ import absolute_import, division, print_function, unicode_literals

import tensorflow as tf
import numpy as np

还需要引入logging以记录日志

import logging
logger = tf.get_logger() #返回tf的日志实例
logger.setLevel(logging.ERROR)

Set up training data 建立训练数据

由于在这里我们使用的是监督式机器学习,所以准备两组链表celsius_qfahrenheit_a分别代表摄氏温度与对应华氏温度,用来训练模型

celsius_q = np.array([-40, -10, 0, 8, 15, 22, 38], dtype=float)
fahrenheit_a = np.array([-40, 14, 32, 46, 59, 72, 100], dtype=float)

for i,c in enumerate(celsius_q):
  print("{} degrees Celsius = {} degrees Fahrenheit".format(c, fahrenheit_a[i]))

输出:

-40.0 degrees Celsius = -40.0 degrees Fahrenheit
-10.0 degrees Celsius = 14.0 degrees Fahrenheit
0.0 degrees Celsius = 32.0 degrees Fahrenheit
8.0 degrees Celsius = 46.0 degrees Fahrenheit
15.0 degrees Celsius = 59.0 degrees Fahrenheit
22.0 degrees Celsius = 72.0 degrees Fahrenheit
38.0 degrees Celsius = 100.0 degrees Fahrenheit

一些机器学习术语:

  • Feature(特征):模型的输入。在这里即摄氏度
  • Labels(标签):模型的输出。在这里即华氏度
  • Example(样本):训练期间数据集的一行内容,可以是标注样本(labeled example)和无标注样本(unlabeled example)。在这里即一对摄氏度与华氏度数据,为标注样本

Create the model 创建模型

由于问题比较简单,因此我们要建立的密集网络将只需要一个单层神经元

Build a layer 建立一个层

我们会把这一层叫做l0,并且使用tf.keras.layers.Dense(全连接层)来建立

tf.keras.layers.Dense
  • units=1指定本层神经元数量。神经元的数量定义了本层需要有多少内部变量来学习解决这个问题。由于这是本模

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值