学习笔记:tensorflow入门

版权声明: https://blog.csdn.net/qq_31239495/article/details/80322507

tensorflow基本使用方法:

占位符:定义占位变量,占位变量在定义计算图时不会被指定,在执行计算图时被赋值,一般用于传入网络的数据

        tf.placeholder(tf.float32, shape = [None, ], name =  )

tensorflow的基本原理:

        with tf.name_scope():对使用Variable创建的变量作用

        with tf.variable_scope(): 对Variable创建的变量和get_variable创建的变量均有作用

创建变量:

        tf.Variable()

        tf.get_variable()

定义运算函数:

        例如:tf.sigmoid(tf.matmul(x, y) + z)

定义目标函数:

        需要再添加一个占位符,即 tf.placeholder(tf.float32, shape = [None, ], name =  )

        例如:l2正则下,loss = tf.nn,l2_loss(m-n)

定义优化器:

        例如:opt = tf.train.GradientDescentOptimizer()

        train_op = opt.minimizer(loss)

定义计算资源:

        with tf.device(")

完成计算:

        创建变量Session,Session将保存计算图中的变量信息用于完成计算,还需要对变量进行初始化

                with tf.Session() as sess:

                        sess.run(tf.gloable_variable_initializer())

                for iter in range(200)

                        loss_val, _ = sess.run([loss, train_op], feed_dict = {x: data_x, y:data_y})

                        if iter % 10 == 0:

                                print ('{}:loss={}', format(iter, loss_val))


基于MPI的数据并行模型

        MPI:Message Passing Interface,解决多进程通信问题

        Scatter:将一个进程的数据切片分成N份,每一个进程收到一份数据并将其分发给其他进程

        Gather:将多个进程数据聚集到单一进程中

        MPI_Bcast:广播,将一个进程的数据发送给所有进程


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页