Tensorflow进行多维矩阵的拆分与拼接实例
最近在使用tensorflow进行网络训练的时候,需要提取出别人训练好的卷积核的部分层的数据。由于tensorflow中的tensor和python中的list不同,无法直接使用加法进行拼接,后来发现一个函数可以完成tensor的拼接。
函数形式如下:
tf.concat(concat_dim,values,name='concat')
其中,第一个参数表示需要拼接的多维tensor,并且可以将多个tensor同事拼接,第二个表示按照哪一个维度拼接(从数字0开始)。
例子:创建一个三维的tensor,然后分别取出最后一个维度(注意:tensor支持与python中list相似的切片操作,可以使用这种方式进行拆分),然后在拼接在一起。
import tensorflow as tf weights=tf.Variable(tf.truncated_normal([2,3,4],dtype=tf.float32,stddev=1e-1),name='weights') weight1=weights[0:2,0:3,1:2] weight2=weights[0:2,0:3,2:3] weight3=weights[0:2,0:3,1:2] weight4=tf.concat([weight1,weight2,weight3],2) #2表示最后一个维度 with tf.Session() as sess: sess.run(tf.global_variables_initializer()) print(sess.run(weights)) print("****************") print(sess.run(weight4))
以上这篇Tensorflow进行多维矩阵的拆分与拼接实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Tensorflow二维.三维.四维矩阵运算(矩阵相乘,点乘,行/列累加) 1. 矩阵相乘 根据矩阵相乘的匹配原则,左乘矩阵的列数要等于右乘矩阵的行数. 在多维(三维.四维)矩阵的相乘中,需要最后两维满足匹配原则. 可以将多维矩阵理解成:(矩阵排列,矩阵),即后两维为矩阵,前面的维度为矩阵的排列. 比如对于(2,2,4)来说,视为2个(2,4)矩阵. 对于(2,2,2,4)来说,视为2*2个(2,4)矩阵. import tensorflow as tf a_2d = tf.constant([
-
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
先给出一个样例看看 import tensorflow as tf raw = tf.constant([1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1]) ''' 拆成 [1,2] [3,4] [5,6] [6,5] [4,3] [2,1] ''' result_1 = tf.dynamic_partition(tf.reshape(raw, [6,2]),[0, 1, 2, 3, 4, 5], 6) ''' 拆成 [1, 2, 3, 4, 5, 6] [6, 5, 4,
-
TensorFlow2.0矩阵与向量的加减乘实例
1.矩阵加法使用 a = np.random.random((3,3)) b = np.random.randint(0,9,(3,3)) ad = tf.add(a,b) 2.矩阵乘法注意 # tensorflow 使用矩阵乘法都必须使用相同类型的数据,否则报错. a = np.random.random((5,3)) b = np.random.randint(0,9,(3,6)) c = tf.tensordot(a.astype(np.float),b.astype(np.float),
-
Tensorflow进行多维矩阵的拆分与拼接实例
最近在使用tensorflow进行网络训练的时候,需要提取出别人训练好的卷积核的部分层的数据.由于tensorflow中的tensor和python中的list不同,无法直接使用加法进行拼接,后来发现一个函数可以完成tensor的拼接. 函数形式如下: tf.concat(concat_dim,values,name='concat') 其中,第一个参数表示需要拼接的多维tensor,并且可以将多个tensor同事拼接,第二个表示按照哪一个维度拼接(从数字0开始). 例子:创建一个三维的tens
-
numpy实现合并多维矩阵、list的扩展方法
一.合并多个numpy矩阵 1.首先创建两个多维矩阵 矩阵a的大小为(2,3,2) 矩阵b的大小为(3,2,3) 采用concatentate这个函数就可以合并两个多维矩阵 合并之后应为(5,3,2) In [1]: import numpy as np In [2]: a = np.ndarray((3, 2, 3)) In [3]: b = np.ndarray((2, 2, 3)) In [4]: print(a.shape, b.shape) (3, 2, 3) (2, 2, 3) In
-
JS实现简单的二维矩阵乘积运算
本文实例讲述了JS实现简单的二维矩阵乘积运算方法.分享给大家供大家参考,具体如下: Console控制台截图如下: (上图为输出结果直接上代码了(A矩阵可以乘以B矩阵的前提是A矩阵的列数等于B矩阵的行数) <!DOCTYPE html> <html> <head> <title>demo</title> </head> <body> </body> <script type="text/java
-
Python获取二维矩阵每列最大值的方法
因为做项目中间有一个很小的环节需要这个功能,所以就写了一个简单的小函数,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 ''' def get_max_value(martix): ''' 得到矩阵中每一列最大的值 ''' res_list=[] for j in range(len(martix[0])): one_list=[] for i in range(len(martix)): one_list.ap
-
python的dataframe转换为多维矩阵的方法
最近有一个需求要把dataframe转换为多维矩阵,然后可以使用values来实现,下面记录一下代码,方便以后使用. import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(3,3),columns=list('abc'),index=list('ABC')) print(df) print('============') print(df.values) 实现的效果: 以上这篇python的datafram
-
python 二维矩阵转三维矩阵示例
如下所示: >>> import numpy as np >>> a = np.arange(12).reshape(3,4) >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> type(a) <class 'numpy.ndarray'> >>> b=np.reshape(a,(3,4,1)) >>> np
-
C++实现LeetCode(74.搜索一个二维矩阵)
[LeetCode] 74. Search a 2D Matrix 搜索一个二维矩阵 Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties: Integers in each row are sorted from left to right. The first integer of each row is great
-
C++中实现矩阵的加法和乘法实例
C++中实现矩阵的加法和乘法实例 实现效果图: 实例代码: #include<iostream> using namespace std; class Matrix { int row;//矩阵的行 int col;//矩阵的列 int **a;//保存二维数组的元素 public: Matrix();//默认构造函数 Matrix(int r, int c); Matrix(const Matrix &is);//拷贝构造函数 void Madd(const Matrix &
-
Python图片转换成矩阵,矩阵数据转换成图片的实例
如下所示: # coding=gbk from PIL import Image import numpy as np # import scipy def loadImage(): # 读取图片 im = Image.open("lena.jpg") # 显示图片 im.show() im = im.convert("L") data = im.getdata() data = np.matrix(data) # print data # 变换成512*512 d
-
tensorflow 20:搭网络,导出模型,运行模型的实例
概述 以前自己都利用别人搭好的工程,修改过来用,很少把模型搭建.导出模型.加载模型运行走一遍,搞了一遍才知道这个事情也不是那么简单的. 搭建模型和导出模型 参考<TensorFlow固化模型>,导出固化的模型有两种方式. 方式1:导出pb图结构和ckpt文件,然后用 freeze_graph 工具冻结生成一个pb(包含结构和参数) 在我的代码里测试了生成pb图结构和ckpt文件,但是没接着往下走,感觉有点麻烦.我用的是第二种方法. 注意我这里只在最后保存了一次ckpt,实际应该在训练中每隔一段
随机推荐
- Jquery与Prototype混合用法对比
- Java字符编码原理(动力节点Java学院整理)
- FTP自动上传文件的perl脚本以及配置文件
- SQL Server 2005中的外联结用法
- windows下安装mongodb以及node.js连接mongodb实例
- 解析arp病毒背后利用的Javascript技术附解密方法
- JavaScript中eval()函数用法详解
- 如何通过非数字与字符的方式实现PHP WebShell详解
- Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting)
- js 距离某一时间点时间是多少实现代码
- Python中for循环控制语句用法实例
- 使用Python读写及压缩和解压缩文件的示例
- SE|PY ActionScript Editor v.1.5.3.6官方最新版的更新 支持中文 下载
- jQuery实现可用于博客的动态滑动菜单
- 详解JavaScript函数绑定
- js清理Word格式示例代码
- 常用的C语言排序算法(两种)
- Linux命令下crontab命令
- 深入介绍Java对象初始化
- 基于insertBefore制作简单的循环插空效果