• vgg16中的函数


    1、inspect.getfile(文件名)文件名一般与类名相同,返回文件目录包含文件名

    import inspect
    class os测试:
    def __init__(self):
    path = inspect.getfile(os测试)
         print(path)

    结果:
    G:/Android/tensorflow-vgg-master/os测试.py

    2、os.pardir  返回当前目录上一级

    import inspect
    import os

    class os测试:
    def __init__(self):
    path = inspect.getfile(os测试)
    print(path)
    path = os.path.abspath(os.path.join(path,os.pardir))
    print(path)



    vgg = os测试()


    结果:
    G:/Android/tensorflow-vgg-master/os测试.py
    G:Android ensorflow-vgg-master

    3、os.path.abspath() 返回绝对路径

    os.path.abspath('test.csv')
    'C:\Python25\test.csv'

    4、np.load()

    Numpy能够读写磁盘上的文本数据或二进制数据。

    将数组以二进制格式保存到磁盘

    np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。

    import numpy as np
    A = np.arange(15).reshape(3,5)
    print(A)
    np.save('A.npy',A) #如果文件路径末尾没有扩展名.npy,该扩展名会被自动加上。
    C = np.load('A.npy')
    print(C)



    结果:

    [[ 0  1  2  3  4]
     [ 5  6  7  8  9]
     [10 11 12 13 14]]
    [[ 0  1  2  3  4]
     [ 5  6  7  8  9]
     [10 11 12 13 14]]

    注:保存为Numpy专用的二进制格式后,就不能用notepad++等打开看了(乱码)。因此这种方式建议在不需要看保存文件内容的情况下使用。

    5、tf.split()

    tf.split函数

    split(
        value,
        num_or_size_splits,
        axis=0,
        num=None,
        name='split'
    )

    定义在:tensorflow/python/ops/array_ops.py

    参见指南:张量变换>切割和连接

    将张量分割成子张量。

    如果 num_or_size_splits 是整数类型,num_split,则 value 沿维度 axis 分割成为 num_split 更小的张量。要求 num_split 均匀分配 value.shape[axis]。

    如果 num_or_size_splits 不是整数类型,则它被认为是一个张量 size_splits,然后将 value 分割成 len(size_splits) 块。第 i 部分的形状与 value 的大小相同,除了沿维度 axis 之外的大小 size_splits[i]。

    例如:

    Split 'A' into 2 tensors along dimension 1
    import tensorflow as tf
    import numpy as np
    A = [[1,2,3],[4,5,6]]
    x = tf.split(A, num_or_size_splits=2, axis=0)
    with tf.Session() as sess:
    c = sess.run(x)
    print(c)
    for ele in c:
    print(ele)


    结果:
    [array([[1, 2, 3]]), array([[4, 5, 6]])]
    [[1 2 3]]
    [[4 5 6]]

    # Split 'value' into 2 tensors with sizes [1,2] along dimension 1
    import tensorflow as tf
    import numpy as np
    A = [[1,2,3],[4,5,6],[1,2,3],[1,2,3],[1,2,3]]
    x = tf.split(A, [1,2], axis=1)
    with tf.Session() as sess:
    c = sess.run(x)
    print(c)
    for ele in c:
    print(ele)
    结果:
    [array([[1],
           [4],
           [1],
           [1],
           [1]]), array([[2, 3],
           [5, 6],
           [2, 3],
           [2, 3],
           [2, 3]])]
    [[1]
     [4]
     [1]
     [1]
     [1]]
    [[2 3]
     [5 6]
     [2 3]
     [2 3]
     [2 3]]

    函数参数:

    
    
    • value:要分割的 Tensor。
    • num_or_size_splits:指示沿 split_dim 分割数量的 0-D 整数 Tensor 或包含沿 split_dim 每个输出张量大小的 1-D 整数 Tensor ;如果为一个标量,那么它必须均匀分割 value.shape[axis];否则沿分割维度的大小总和必须与该 value 相匹配。
    • axis:A 0-D int32 Tensor;表示分割的尺寸;必须在[-rank(value), rank(value))范围内;默认为0。
    • num:可选的,用于指定无法从 size_splits 的形状推断出的输出数。
    • name:操作的名称(可选)。
    
    

    函数返回值:

    
    

    如果 num_or_size_splits 是标量,返回 num_or_size_splits Tensor对象;如果 num_or_size_splits 是一维张量,则返回由 value 分割产生的 num_or_size_splits.get_shape[0] Tensor对象。

    
    

    函数可能引发的异常:

    
    
    • ValueError:如果 num 没有指定并且无法推断。

     



     
  • 相关阅读:
    项目实战15—企业级堡垒机 jumpserver
    ELK重难点总结和整体优化配置
    ELK 经典用法—企业自定义日志收集切割和mysql模块
    项目实战14—ELK 企业内部日志分析系统
    搭建内网映射服务
    超好用内网映射神器
    Linux官方源、镜像源汇总
    搭建企业级PPTP服务器
    Ansible的Inventory管理
    Ansible的快速入门
  • 原文地址:https://www.cnblogs.com/qqw-1995/p/9761351.html
Copyright © 2020-2023  润新知