tensorflow

在TensorFlow的世界里,变量的定义和初始化是分开的,一开始,tf.Variable 得到的是张量,而张量并不是具体的值,而是计算过程。
因为tf.Variable 生成的是一个张量,那么 name 就是一个张量的名字,如果你不主动声明的话,就是默认的 Variable

而如果你要得到,变量的值的话,那么你就需要对张量进行计算,首先对变量进行初始化,使用会话进行计算。

 sess.run(tf.global_variables_initializer())

对变量初始化之后,就可以直接计算变量,那么run 变量,那么就得到了变量的值。

#简单的随机生成值demo
import tensorflow as tf
s = tf.random_uniform([1, 2],1,2)
# random_uniform(shape,min,max,dtype,seed)
with tf.Session() as sess:
    for i in range(100):
        print(sess.run(s))
        print(i)

import tensorflow as tf

# 创建一个 常量 op, 返回值 'matrix1' 代表这个 1x2 矩阵.
matrix1 = tf.constant([[3., 3.]])

# 创建另外一个 常量 op, 返回值 'matrix2' 代表这个 2x1 矩阵.
matrix2 = tf.constant([[2.], [2.]])

# 创建一个矩阵乘法 matmul op , 把 'matrix1' 和 'matrix2' 作为输入.
# 返回值 'product' 代表矩阵乘法的结果.
product = tf.matmul(matrix1, matrix2)
with tf.Session() as sess:
    print(sess.run(matrix1))
    print(sess.run(matrix2))
    print(sess.run(product))
from keras.model import Sequential
from keras.layers import Dense, Activation,Conv2D,MaxPooling2D,Flatten,Dropout
model = Sequential()
# 卷积层
model.add(Conv2D(64, (3, 3), activation='relu'))

# 最大池化层
model.add(MaxPooling2D(pool_size = (2,2)))

# 全连接层
model.add(Dense(256, activation = 'relu'))

# dropout
model.add(Dropout(0.5))

# 展平层
model.add(Flatten())

#使用compile配置学习流程
model.compile(optimizer='adam', loss='mse')
np.asarray
import numpy as np
a = [0, 1, 2, 3]
print(a)

a = np.asarray(a)
print(a)

if (a[[0, 1]] > 1).any():
    print('第一步成功')
if (a[[0, 2]] > 1).any():
    print('第二步成功')
    
输出
[0, 1, 2, 3]
[0 1 2 3]
第二步成功

tensorflow中创建变量的方式有两种,tf.get_variable()和tf.Variable()
tf.get_variable是创建新tensorflow变量
常用的参数有:名称name,变量规格shape,变量类型dtype,变量初始化方式initializer,所属于的集合collections。

 def get_variable(name,
                  shape=None,
                  dtype=None,
                  initializer=None,
                  regularizer=None,
                  trainable=True,
                  collections=None,	
                  caching_device=None,
                  partitioner=None,
                  validate_shape=True,
                  use_resource=None,
                  custom_getter=None):

常用的initializer有:常量初始化器tf.constant_initializer、正态分布初始化器tf.random_normal_initializer、截断正态分布初始化器tf.truncated_normal_
tf.variable_scope用于定义创建变量(层)的操作的上下文管理器

# 元素差的平方
# 记得要进行初始化
import tensorflow as tf

x = [1,2]
x= tf.Variable(x,dtype=tf.float32)
y = [6,6]
y= tf.Variable(y,dtype=tf.float32)
z= tf.squared_difference(x,y)
ini = tf.global_variables_initializer()


with tf.Session() as sess:
    sess.run(ini)
    print(sess.run(z))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值