把python函数转化为 tensorflow 函数 加速运算

简介: 把python函数转化为 tensorflow 函数 加速运算
docker run -tdi --gpus all  -p 60106:22 -p 60006:8888 --name  cujupt102 --privileged=true  registry.cn-hangzhou.aliyuncs.com/mkmk/gpujupyter:pydotGrapgviz /bin/bash && docker exec -d cujupt102 /bin/bash -c "cd /home &&(/etc/init.d/ssh start) && nohup jupyter notebook --allow-root & "
sshpass -p "Li" ssh -NTf -R 60006:172.16.102.168:60006 root@limengkai.work -o stricthostkeychecking=no
watch -n 1  nvidia-smi
pip install numpy sklearn matplotlib pandas tensorflow-gpu
sys.version_info(major=3, minor=7, micro=2, releaselevel='final', serial=0)
3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43) 
[Clang 6.0 (clang-600.0.57)]
matplotlib 3.0.3
numpy 1.17.2
pandas 0.25.1
sklearn 0.21.3
tensorflow 2.0.0-beta0
tensorflow.python.keras.api._v2.keras 2.2.4-tf
import warnings 
warnings.filterwarnings('ignore')
import matplotlib as mpl
import matplotlib.pyplot as plt 
%matplotlib inline
import numpy as np
import sklearn 
import pandas as pd
import os
import sys
import time
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.layers import *
print(sys.version_info)
print(sys.version)
for module in mpl,np,pd,sklearn,tf,keras:
    print(module.__name__,module.__version__)
#tf.function  and auto-graph
def scaled_elu(z,scale=1.0,alpha=1.0):
    # z>=0? scale * z
    is_positive=tf.greater_equal(z,0.0)
    return scale * tf.where(is_positive,z,alpha*tf.nn.elu(z))
print(scaled_elu(tf.constant([-4.,-2])))
#根据python 方法转化成 tf 方法
scaled_elu_tf=tf.function(scaled_elu)
print(scaled_elu_tf(tf.constant([-4.,-3.])))
#根据 tf 方法 还原 python 方法
print(scaled_elu_tf.python_function is scaled_elu)
#tf 方法有什么优势,
#快!
%timeit scaled_elu(tf.random.normal((10000,10000)))
%timeit scaled_elu_tf(tf.random.normal((10000,10000)))
# 2.86 s ± 199 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
# 2.02 s ± 79.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
#这仅仅是在 cpu 测试的结果,如果采用 gpu 加速会更加明显


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
3天前
|
Python
python之print函数
python之print函数
11 0
|
3天前
|
分布式计算 算法 Python
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
|
5天前
|
存储 Python
在Python中,匿名函数(lambda表达式)是一种简洁的创建小型、一次性使用的函数的方式。
【6月更文挑战第24天】Python的匿名函数,即lambda表达式,用于创建一次性的小型函数,常作为高阶函数如`map()`, `filter()`, `reduce()`的参数。lambda表达式以`lambda`开头,后跟参数列表,冒号分隔参数和单行表达式体。例如,`lambda x, y: x + y`定义了一个求和函数。在调用时,它们与普通函数相同。例如,`map(lambda x: x ** 2, [1, 2, 3, 4, 5])`会返回一个列表,其中包含原列表元素的平方。
20 4
|
5天前
|
Python
在Python中,高阶函数是指那些可以接受一个或多个函数作为参数,并返回一个新的函数的函数。
【6月更文挑战第24天】Python的高阶函数简化代码,增强可读性。示例:`map()`检查用户名合法性,如`["Alice", "Bob123", "Charlie!", "David7890"]`;`reduce()`与`lambda`结合计算阶乘,如1到10的阶乘为3628800;`filter()`找出1到100中能被3整除的数,如[3, 6, 9, ..., 99]。
14 3
|
1天前
|
机器学习/深度学习 人工智能 程序员
探索Python宝库:从基础到技能的干货知识(数据类型与变量+ 条件与循环+函数与模块+文件+异常+OOP)
探索Python宝库:从基础到技能的干货知识(数据类型与变量+ 条件与循环+函数与模块+文件+异常+OOP)
2 0
|
2天前
|
Python
经验大分享:python类函数,实例函数,静态函数
经验大分享:python类函数,实例函数,静态函数
|
2天前
|
Python
|
3天前
|
Python
经验大分享:Python函数返回值
经验大分享:Python函数返回值
|
3天前
|
Python
python函数
python函数
7 0
|
5天前
|
Python
使用Python计算有效值函数(RMS值)
使用Python计算有效值函数(RMS值)
12 0