精华内容
下载资源
问答
  • trans_csv_id2sparse Python接口将标记有效位置的CSV字符串集合转换成为稀疏矩阵。trans_csv_id2sparse(records, max_id, id_as_value=True, field_delim=”,”)输入以下参数:参数是否必选描述records是类型STRING...

    本文为您介绍PAI-TF数据转换方法。

    trans_csv_id2sparse Python接口

    将标记有效位置的CSV字符串集合转换成为稀疏矩阵。trans_csv_id2sparse(records, max_id, id_as_value=True, field_delim=”,”)输入以下参数:

    参数

    是否必选

    描述

    records

    类型STRING数组待解析CSV字符串数组(列表),以CSV格式由分隔符分隔。

    max_id

    类型INT64稀疏矩阵的最大列数,用于设定输出中的dense_shape值。如果实际ID大于或等于dense_shape值,则报错。

    id_as_value

    类型BOOL,默认为True,将Index编号作为稀疏矩阵中有效点的值,类型为INT64。无特殊情况不建议更改为False。

    field_delim

    类型STRING,默认为英文逗号(,)。CSV格式数据的分隔符。不支持数字、正负号、字母e和E、小数点(.)和多字节分隔符。当使用空格作为分隔符时,多个连续空格将被视作一个分隔符。

    输出:由Index CSV序列转换而得的Sparse Tensor,Value类型为INT64。

    示例:将一个batch的存有Index数据的STRING转换成一个sparse tensor。

    输入:[“2,10”,“7”,“0,8”]

    需求:

    矩阵列宽度为20,有效点填入原Index。

    代码:outsparse = tf.trans_csv_id2sparse([“2,10”,“7”,“0,8”], 20)

    返回结果:SparseTensor(

    indices=[[0,2],[0,10],[1,7],[2,0],[2,8]],

    values=[2, 10, 7, 0, 8],

    dense_shape=[3,20])

    trans_csv_kv2dense Python接口

    将以Key/Value形式标记有效位置和值的CSV字符串集合转换成为稠密矩阵。trans_csv_kv2dense(records, max_id, field_delim=”,”)输入以下参数:

    参数

    是否必选

    描述

    records

    类型STRING数组待解析CSV字符串数组(列表),以CSV格式由分隔符分隔。每一个数据项均为以冒号(:)分隔的Key/Value形式数据,否则报错。

    max_id

    类型INT64输出的稠密矩阵的列数。如果实际ID大于或等于列数,则报错。

    field_delim

    类型STRING,默认为英文逗号(,)。CSV格式数据的分隔符。不支持数字、正负号、字母e和E、小数点(.)和多字节分隔符。当使用空格作为分隔符时,多个连续空格将被视作一个分隔符。

    输出:由Key/Value形式CSV序列转换而得的稠密矩阵,默认输出类型为FLOAT,空白处以0.0填充。

    示例:将一个batch以Key/Value形式Index: Value存储的STRING转换成为一个稠密矩阵。

    输入:[“1:0.1,2:0.2,4:0.4,10:1.0”,

    “0:0.22,3:0.33,9:0.99”,

    “2:0.24,7:0.84,8:0.96” ]

    需求:

    列宽设置为12。

    代码:outmatrix = tf.trans_csv_kv2dense(

    [“1:0.1,2:0.2,4:0.4,10:1.0”,

    “0:0.22,3:0.33,9:0.99”,

    “2:0.24,7:0.84,8:0.96” ] , 12)

    返回结果:[[0.0, 0.1, 0.2, 0.0, 0.4, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]

    [0.22, 0.0, 0.0, 0.33, 0.0, 0.0, 0.0, 0.0, 0.0, 0.99, 0.0, 0.0]

    [0.0, 0.0, 0.24, 0.0, 0.0, 0.0, 0.0, 0.84, 0.96, 0.0, 0.0, 0.0]]

    trans_csv_kv2sparse Python接口

    将以Key/Value形式标记有效位置和值的CSV字符串集合转换成为稀疏矩阵。trans_csv_kv2sparse(records, max_id, field_delim=”,”)输入以下参数:

    参数

    是否必选

    描述

    records

    类型STRING数组待解析CSV字符串数组(列表),以CSV格式由分隔符分隔。每一个数据项均为以冒号(:)分隔的Key/Value形式数据,否则报错。当使用空格作为分隔符时,多个连续空格将被视作一个分隔符。

    max_id

    类型INT64稀疏矩阵的最大列数,用于设定输出中的dense_shape值。如果实际ID大于或等于dense_shape值,则报错。

    field_delim

    类型STRING,默认为英文逗号(,)。CSV格式数据的分隔符。不支持数字、正负号、字母e和E、小数点(.)和多字节分隔符。当使用空格作为分隔符时,多个连续空格将被视作一个分隔符。

    输出:由Key/Value形式CSV序列转换而得的稀疏矩阵,默认输出类型为FLOAT。

    示例:将一个batch以Key/Value形式Index: Value存储的STRING转换成为一个稀疏矩阵。

    输入:[“1:0.1,2:0.2,4:0.4,10:1.0”,

    “0:0.22,3:0.33,9:0.99”,

    “2:0.24,7:0.84,8:0.96” ]

    需求:

    列宽设置为20,生成稀疏矩阵Tensor。

    代码:outsparse = tf.trans_csv_kv2sparse(

    [“1:0.1,2:0.2,4:0.4,10:1.0”,

    “0:0.22,3:0.33,9:0.99”,

    “2:0.24,7:0.84,8:0.96” ] , 20)

    返回结果:SparseTensor(

    indices=[[0,1],[0,2],[0,4],[0,10],[1,0],[1,3],[1,9],[2,0],[2,7],[2,8]],

    values=[0.1, 0.2, 0.4, 1.0, 0.22, 0.33, 0.99, 0.24, 0.84, 0.96],

    dense_shape=[3,20])

    trans_csv_id2dense Python接口

    将标记有效位置的CSV字符串集合转换成为稠密矩阵。trans_csv_id2dense(records, max_id, id_as_value=False, field_delim=”,”)输入以下参数:

    参数

    是否必选

    描述

    records

    类型STRING数组待解析CSV字符串数组(列表),以CSV格式由分隔符分隔。

    max_id

    类型INT64输出的稠密矩阵的列数。如果实际ID大于或等于列数,则报错。

    id_as_value

    类型BOOL,默认为False,稀疏矩阵中有效点的值将会填入int64(1)。

    field_delim

    类型STRING,默认为英文逗号(,)。CSV格式数据的分隔符。不支持数字、正负号、字母e和E、小数点(.)和多字节分隔符。当使用空格作为分隔符时,多个连续空格将被视作一个分隔符。

    输出:由Index CSV序列转换而得的稠密矩阵,类型为INT64,空白处以0值填充。

    示例:将一个batch的存有Index数据的STRING转换成一个稠密矩阵:

    输入:[“2,10”,“7”,“0,8”]

    需求:

    需求:列宽设置为12,有效点填入1。

    代码:outmatrix = tf.trans_csv_id2dense(

    [“2,10”,“7”,“0,8”], 12)

    返回结果:[[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0]

    [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]

    [1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]]

    trans_csv_to_dense Python接口

    将由数值组成的CSV字符串集合转换成为稠密矩阵。trans_csv_to_dense(records, max_id, field_delim=”,”)输入以下参数:

    参数

    是否必选

    描述

    records

    类型STRING数组待解析CSV字符串数组(列表),以CSV格式由分隔符分隔。

    max_id

    类型INT64输出的稠密矩阵的列数。如果实际CSV字符串的列数大于或等于列数,则报错。

    field_delim

    类型STRING,默认为英文逗号(,)。CSV格式数据的分隔符。不支持数字、正负号、字母e和E、小数点(.)和多字节分隔符。当使用空格作为分隔符时,多个连续空格将被视作一个分隔符。

    输出:由Key/Value形式CSV序列转换而得的稠密矩阵,默认输出类型为FLOAT,空白处以0.0填充。

    示例:将一个batch的CSV格式STRING转换成为一个稠密矩阵。

    输入:[“0.1,0.2,0.4,1.0”,

    “0.22,0.33,0.99”,

    “0.24,0.84,0.96” ]

    需求:

    列宽设置为6。

    代码:outmatrix = tf.trans_csv_to_dense(

    [“0.1,0.2,0.4,1.0”,

    “0.22,0.33,0.99”,

    “0.24,0.84,0.96” ] , 6)

    返回结果:[[0.1, 0.2, 0.4, 1.0, 0.0, 0.0]

    [0.22, 0.33, 0.99, 0.0, 0.0, 0.0]

    [0.24, 0.84, 0.96, 0.0, 0.0, 0.0]]

    代码实例

    以下代码通过TensorFlow从存放在ODPS的数据表中读取数据。数据共有6列,第1列为ID,第2列为Key/Value格式的CSV数据,后4列为Index格式的CSV数据。数据读取后调用TransCSV的ODPS,将这5列数据分别转换为1个稠密矩阵和4个稀疏矩阵,用于模型训练。import tensorflow as tf

    import numpy as np

    def read_table(filename_queue):

    batch_size = 128

    reader = tf.TableRecordReader(csv_delimiter=';', num_threads=8, capacity=8*batch_size)

    key, value = reader.read_up_to(filename_queue, batch_size)

    values = tf.train.batch([value], batch_size=batch_size, capacity=8*capacity, enqueue_many=True, num_threads=8)

    record_defaults = [[1.0], [""], [""], [""], [""], [""]]

    feature_size = [1322,30185604,43239874,5758226,41900998]

    col1, col2, col3, col4, col5, col6 = tf.decode_csv(values, record_defaults=record_defaults, field_delim=';')

    col2 = tf.trans_csv_kv2dense(col2, feature_size[0])

    col3 = tf.trans_csv_id2sparse(col3, feature_size[1])

    col4 = tf.trans_csv_id2sparse(col4, feature_size[2])

    col5 = tf.trans_csv_id2sparse(col5, feature_size[3])

    col6 = tf.trans_csv_id2sparse(col6, feature_size[4])

    return [col1, col2, col3, col4, col5, col6]

    if __name__ == '__main__':

    tf.app.flags.DEFINE_string("tables", "", "tables")

    tf.app.flags.DEFINE_integer("num_epochs", 1000, "number of epoches")

    FLAGS = tf.app.flags.FLAGS

    table_pattern = FLAGS.tables

    num_epochs = FLAGS.num_epochs

    filename_queue = tf.train.string_input_producer(table_pattern, num_epochs)

    train_data = read_table(filename_queue)

    init_global = tf.global_variables_initializer()

    init_local = tf.local_variables_initializer()

    with tf.Session() as sess:

    sess.run(init_global)

    sess.run(init_local)

    coord = tf.train.Coordinator()

    threads = tf.train.start_queue_runners(sess=sess, coord=coord)

    for i in range(1000):

    sess.run(train_data)

    coord.request_stop()

    coord.join(threads)

    展开全文
  • python矩阵

    2017-12-07 10:24:00
    B=min(A):获得矩阵A每一列的最小值...C=max(A) :获得矩阵A每一列的最大值,返回值C为一个行向量,其第i列对应A矩阵第i列的最大值。 import numpy as np a = np.array([[1,5,3],[4,2,6]]) print(a.min()) #无参...

    B=min(A):获得矩阵A每一列的最小值,返回值B为一个行向量,其第i列对应A矩阵第i列的最小值。
    C=max(A) :获得矩阵A每一列的最大值,返回值C为一个行向量,其第i列对应A矩阵第i列的最大值。

    import numpy as np
    a = np.array([[1,5,3],[4,2,6]])
    print(a.min()) #无参,所有中的最小值
    print(a.min(0)) # axis=0; 每列的最小值
    print(a.min(1)) # axis=1;每行的最小值
    # 1
    # [1 2 3]
    # [1 2]

    转载于:https://www.cnblogs.com/flyingcr/p/10327081.html

    展开全文
  • 矩阵旋转Python

    千次阅读 2018-04-12 14:29:31
    代码 # 主要实现两种方式 ...# [1,2,3], (0,0),(0,1),(0,2),(0,3),(0,4),(0,5) length=6 max_xy=5 # [4,5,6], (1,0),(1,1),(1,2),(1,3),(1,4),(1,5) # [7,8,9] (2,0),(2,1),(2,2),(2,3),(2,4),(2,5) # ]...

    代码

    # 主要实现两种方式
    # [
    #     [1,2,3], (0,0),(0,1),(0,2),(0,3),(0,4),(0,5)      length=6 max_xy=5
    #     [4,5,6], (1,0),(1,1),(1,2),(1,3),(1,4),(1,5)
    #     [7,8,9]  (2,0),(2,1),(2,2),(2,3),(2,4),(2,5)
    # ]            (3,0),(3,1),(3,2),(3,3),(3,4),(3,5)
    #              (4,0),(4,1),(4,2),(4,3),(4,4),(4,5),
    #              (5,0),(5,1),(5,2),(5,3),(5,4),(5,5),
    
    # 生成矩阵
    def ger_matrix(dim: int):
        start = 1
        while start <= dim * dim:
            row = []
            while len(row) < dim:
                row.append(start)
                start += 1
            yield row
    
    ##### 1 ####
    
    def ger_colmun(nn: int, dst: list) -> list:
        l = len(dst) - 1
        while l >= 0:
            yield dst[l][nn]
            l -= 1
    
    # 顺时针旋转90度后,行列进行对应互换,第一行变成最后一列。。。最后一行变成第一列
    def rotate_list(tar: list) -> list:
        if len(tar) == 0:
            return
        array_1 = len(tar[0])
        for ai in range(array_1):
            yield list(ger_colmun(ai, tar))
    #############
    
    ##### 2 #####
    
    # 不创建任何新的container,采用旋转交换法
    def pos_exchange(dst: list, val: int, max_xy: int, x_last=0, y_last=0, x_origin=0, y_origin=0)-> bool:
        start_pos_x, start_pos_y = y_last, abs(x_last - max_xy)  # 计算移位到的坐标
        old, dst[start_pos_x][start_pos_y] = dst[start_pos_x][start_pos_y], val
        if start_pos_x == x_origin and start_pos_y == y_origin:
            if y_origin + 1 > max_xy - 1 - x_origin: # 本圈结束
                return True
            y_origin += 1
            start_pos_x, start_pos_y, old = x_origin, y_origin, dst[x_origin][y_origin]
        pos_exchange(dst, old, max_xy, x_last=start_pos_x, y_last=start_pos_y, x_origin=x_origin, y_origin=y_origin)
    
    
    def rotate(tar: list):
        circle = len(tar) // 2 # 计算旋转圈数
        max_xy = len(tar) - 1  # 计算最大x, y 坐标
        for c in range(circle): # 遍历交换每一圈
            pos_exchange(tar, tar[c][c], max_xy, x_last=c, y_last=c, x_origin=c, y_origin=c)
    
    
    def pretty_print(tar: list):
        for t in tar:
            print(t)
    
    if __name__ == "__main__":
        dlist = list(ger_matrix(10))
        pretty_print(dlist)
        rotate(dlist)
        print("##########")
        pretty_print(dlist)
        # pretty_print(list(rotate_list(dlist)))

    实现旋转90度,稍加改动,可以变换任一 X 90度 的旋转*

    展开全文
  • min(0)返回该矩阵中每一列的最小值 min(1)返回该矩阵中每一行的最小值 max(0)返回该矩阵中每一列的最大值 max(1)返回该矩阵中每一行的最大值 对一维矩阵data,min(data)\max(data)找到矩阵中的最小\最大值 ...

    https://blog.csdn.net/mxhsyyd/article/details/80312045

    min(0)返回该矩阵中每一列的最小值

    min(1)返回该矩阵中每一行的最小值

    max(0)返回该矩阵中每一列的最大值

    max(1)返回该矩阵中每一行的最大值

    对一维矩阵data,min(data)\max(data)找到矩阵中的最小\最大值

    展开全文
  • 简单使用min、max函数来得到二维数据矩阵中的最大最小值,很简单,这是因为工作需要用到一个东西所以先简单来写了一下:#!usr/bin/env python#encoding:utf-8 '''__Author__:沂水寒城功能:找出来随机生成矩阵中的...
  • 关于tf.argmax - python

    千次阅读 2018-02-20 11:30:56
    在tf.argmax( , )中有两个参数,第一个参数是矩阵,第二个参数是0或者1。0表示的是按列比较返回最大值的索引,1表示按行比较返回最大值的索引。下面上代码: import tensorflow as tf Vector = [1,1,2,5,3] #定义...
  • 这是一个可能的实现:import tensorflow as tfdef maxnorm_regularizer(threshold, axes=1, name="maxnorm", collection="maxnorm"):def maxnorm(weights):clipped = tf.clip_by_norm(weights, clip_norm=threshold,...
  • 主要介绍了Python使用min、max函数查找二维数据矩阵中最小、最大值的方法,涉及Python矩阵生成、遍历、查找等相关操作技巧,需要的朋友可以参考下
  • 简单使用min、max函数来得到二维数据矩阵中的最大最小值,很简单,这是因为工作需要用到一个东西所以先简单来写了一下: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:找出来随机生成矩阵...
  • min(0)返回该矩阵中每一列的...max(0)返回该矩阵中每一列的最大值 max(1)返回该矩阵中每一行的最大值 eg归一化算法中 minVals = dataSet.min(0) #print(minVals) #[0. 0. 0.001156] maxVals = dataSet.max(0) ...
  • Python高斯消除矩阵

    2021-01-20 05:20:06
    高斯消除矩阵 #! /usr/bin/env python # -*- coding: utf-8 -*- # def pprint(A): for i in A: print(i) print() data = [ [1, 2, 1, 2], [3, 8, 1, 12], [0, 4, 1, 2] ] n = len(data) print(输入数据) ...
  • Python获取二维矩阵每列最大值的方法因为做项目...usr/bin/env python#encoding:utf-8'''__Author__:沂水寒城'''def get_max_value(martix):'''得到矩阵中每一列最大的值'''res_list=[]for j in range(len(martix...
  • 可能是最快的解决方案,使用numpy的广播 –i = np.arange(1, df.Value.max() + 1)j = df.Value.values[:, None] >= idf = pd.DataFrame(j, columns=i, index=df.Name).sum(level=0)1 2 3 4 5Namex 4.0 4.0 3.0 ...
  • 这次给大家带来Python怎么获取二维矩阵的单行每列最大值,Python获取二维矩阵每列最大值的注意事项有哪些,下面就是实战案例,一起来看一下。因为做项目中间有一个很小的环节需要这个功能,所以就写了一个简单的小...
  • 简单使用min、max函数来得到二维数据矩阵中的最大最小值,很简单,这是因为工作需要用到一个东西所以先简单来写了一下:#!usr/bin/env python#encoding:utf-8 '''__Author__:沂水寒城功能:找出来随机生成矩阵中的...
  • 因为做项目中间有一个很小的...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...
  • 这次给大家带来Python怎么获取二维矩阵的单行每列最大值,Python获取二维矩阵每列最大值的注意事项有哪些,下面就是实战案例,一起来看一下。因为做项目中间有一个很小的环节需要这个功能,所以就写了一个简单的小...
  • python常见的矩阵运算

    万次阅读 2018-05-14 15:09:36
    python里面经常会用到矩阵操作。总结一下:import numpy as np或者使用from numpy import *(用此命令后面操作起来感觉想matlab)类似matlab里面生成各类矩阵一样,这里可以用矩阵相乘:矩阵点乘:矩阵求转置a.T操作...
  • 本文实例讲述了Python使用min、max函数查找二维数据矩阵中最小、最大值的方法。分享给大家供大家参考,具体如下:简单使用min、max函数来得到二维数据矩阵中的最大最小值,很简单,这是因为工作需要用到一个东西所以...
  • 也许这个例子会对你说:pred = multilayer_perceptron(x, weights, biases)correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))...
  • a = array([[ 1., 2., 3., 4.], [ 5., 6., 7., 8.], ...np.max(a, axis=1) #取每行的最大值 >>>array([ 4., 8., 12.]) np.max(a, axis=0) #取每列的最大值 >>>array([ 9., 10., 11., 12.])
  • Pythonmax()

    千次阅读 2019-04-23 14:22:45
    Pythonmax() Pythonmax()函数简言之,输出为输入参数的最大值。 输入参数不能为多维矩阵,否则输出报错; >>> a array([[[ 0, 1, 2], [ 3, 4, 5]], [[ 6, 7, 8], [ 9, 10, 11]]]) >>> ...
  • Python获取二维矩阵每列最大值

    万次阅读 2017-11-22 16:15:11
    因为做项目中间有一个很小的环节需要这个功能,所以就...usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 ''' def get_max_value(martix): ''' 得到矩阵中每一列最大的值 ''' res_list=[] for j
  • Python怎么获取二维矩阵的单行每列最大值def get_max_value(martix): ''' 得到矩阵中每一列最大的值 ''' res_list=[] for j in range(len(martix[0])): one_list=[] for i in range(len(martix)): one_list.append...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 269
精华内容 107
关键字:

max矩阵python

python 订阅