TF的使用

 

激活函数

 关于激活函数的介绍请参考:激活函数

 这里只是记录TF提供的激活函数

import tensorflow as tf
a = tf.nn.relu( tf.matmul(x, w1) + biases1 )
y = tf.nn.relu( tf.matmul(a, w2) + biases2 )

  

tf.cast

cast(
    x,
    dtype,
    name=None
)
#将x的数据格式转化成dtype.例如,原来x的数据格式是bool, 
#那么将其转化成float以后,就能够将其转化成0和1的序列。反之也可以

import tensorflow as tf
a = tf.Variable([1,0,0,1,1])
b = tf.cast(a,dtype=tf.bool)
sess = tf.Session()
sess.run( tf.global_variables_initializer() )
print(sess.run(b))
#[ True False False  True  True]

 

tf.greater与tf.select连用在自定义损失函数中,注意:tf.select is deprecated since v0.12 and was renamed to tf.where in v1.0 

 在预测商品销量时,预测多了,损失的是成本;预测少了,损失的是利润。比如一个商品成本是1元,利润是10元,少预测一个就少挣10元,而多预测一个则少挣1元。损失函数为:其中x为真实销量,y为预测值

 这样用自定义的损失函数而不是均方误差才能获得最大利润

 

import tensorflow as tf
v1 = tf.constant( [1.0, 2.0, 3.0, 4.0] )
v2 = tf.constant( [4.0, 3.0, 2.0, 1.0] )
 
sess = tf.InteractiveSession()
print(tf.greater(v1, v2).eval())
#[False False  True  True]
 
print(tf.select(tf.greater(v1, v2), v1, v2).eval() )
#[4.  3.  3.  4.]
 
a = tf.constant([10.0])
b = tf.constant( [1.0] )
 
loss = tf.reduce_sum(tf.select(tf.greater(v1, v2), (v1 - v2) * a, (v2-v1) * b) )
print(loss.eval())
#44.0
 
#ft.greater()输入的是两个张量,比较大小,返回真假
#tf.select()有三个参数,第一个为条件,为True时,tf.select会选择第二个参数值,否则会使用第三个参数值

 

转载于:https://www.cnblogs.com/always-fight/p/10056652.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在TensorFlow库中,`tf.keras`是一个高级API,用于构建和训练神经网络模型。以下是使用`tf.keras`的基本步骤: 1. **导入模块**: 首先,需要导入`tf.keras`模块以及相关的层(如`tf.keras.layers`)和优化器、损失函数等(如果必要的话): ```python import tensorflow as tf from tensorflow.keras import layers ``` 2. **创建模型**: 定义模型结构通常从创建一个序列式模型开始,可以使用`Sequential`,或者直接实例化一层接一层: ```python model = tf.keras.Sequential([ layers.Dense(64, activation='relu', input_shape=(input_dim,)), layers.Dense(64, activation='relu'), layers.Dense(num_classes, activation='softmax') ]) ``` 3. **配置模型**: 可以添加损失函数、优化器以及评估指标: ```python model.compile(optimizer='adam', loss=tf.keras.losses.categorical_crossentropy, metrics=['accuracy']) ``` 4. **加载数据**: 使用`tf.data.Dataset`处理输入数据,例如从文件、CSV或其他来源读取数据,并进行预处理: ```python train_dataset = tf.keras.preprocessing.image_dataset_from_directory( 'path/to/train/directory', batch_size=32) validation_dataset = tf.keras.preprocessing.image_dataset_from_directory( 'path/to/validation/directory', batch_size=32) ``` 5. **训练模型**: 调用`model.fit()`方法传入训练数据集和验证数据集(如果有),并指定训练的轮数和其他选项: ```python history = model.fit(train_dataset, epochs=10, validation_data=validation_dataset) ``` 6. **评估和预测**: 可以通过`model.evaluate()`对新数据进行评估,或用`model.predict()`进行分类预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值