`
haoningabc
  • 浏览: 1478007 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tensorflow模拟仿真

阅读更多
TensorFlow 不仅仅是用来机器学习,它更可以用来模拟仿真。在这里,我们将通过模拟仿真几滴落入一块方形水池的雨点的例子,来引导您如何使用 TensorFlow 中的偏微分方程来模拟仿真的基本使用方法。

参考http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/pdes.html

https://stackoverflow.com/questions/28237210/image-does-not-display-in-ipython/42567537?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
代码运行不了
修改如下

yum install libpng-devel freetype-devel   -y
yum install tcl tk tix-devel -y
yum install tk-devel tcl-devel -y
yum -y install tkinter
 



virtualenv pianweifen

pip install --upgrade pip
#pip-10.0.1
pip install tensorflow
pip install matplotlib
pip install pillow

pip install ipython
pip install scipy



把display(Image(data=f.getvalue()))
改成
  scipy.misc.imsave("testimg.jpg", a)
  image = PIL.Image.open("testimg.jpg")
  image.show()

# encoding: utf-8
#导入模拟仿真需要的库
import tensorflow as tf
import numpy as np
import  matplotlib.pyplot as plt
#导入可视化需要的库
import PIL.Image
from cStringIO import StringIO
#from io import BytesIO
import scipy.misc
from IPython.display import clear_output, Image, display

def DisplayArray(a, fmt='jpeg', rng=[0,1]):
  """Display an array as a picture."""
  a = (a - rng[0])/float(rng[1] - rng[0])*255
  a = np.uint8(np.clip(a, 0, 255))
  f = StringIO()
  # f = BytesIO()
  PIL.Image.fromarray(a).save(f, fmt)
 # display(Image(data=f.getvalue()))
  scipy.misc.imsave("testimg.jpg", a)
  image = PIL.Image.open("testimg.jpg")
  image.show()
#def DisplayArray(a, rng=[0 ,1]):
#    plt.ion()
#    a = (a - rng[0])/float(rng[1]-rng[0])*255
#    a = np.uint8(np.clip(a, 0, 255))
#    print(a)
#    plt.imshow(a, cmap='gray')
#    plt.pause(1)
#    plt.close()
sess = tf.InteractiveSession()

def make_kernel(a):
    """Transform a 2D array into a convolution kernel"""
    a = np.asarray(a)
    a = a.reshape(list(a.shape) + [1,1])
    return tf.constant(a, dtype=1)

def simple_conv(x, k):
  """A simplified 2D convolution operation"""
  x = tf.expand_dims(tf.expand_dims(x, 0), -1)
  y = tf.nn.depthwise_conv2d(x, k, [1, 1, 1, 1], padding='SAME')
  return y[0, :, :, 0]

def laplace(x):
  """Compute the 2D laplacian of an array"""
  laplace_k = make_kernel([[0.5, 1.0, 0.5],
                           [1.0, -6., 1.0],
                           [0.5, 1.0, 0.5]])
  return simple_conv(x, laplace_k)

N = 500

# Initial Conditions -- some rain drops hit a pond

# Set everything to zero
u_init = np.zeros([N, N], dtype="float32")
ut_init = np.zeros([N, N], dtype="float32")

# Some rain drops hit a pond at random points
for n in range(40):
  a,b = np.random.randint(0, N, 2)
  u_init[a,b] = np.random.uniform()

DisplayArray(u_init, rng=[-0.1, 0.1])


]
python hello.py



完整版还不完美的图片闪现的版本
# encoding: utf-8
#导入模拟仿真需要的库
import tensorflow as tf
import numpy as np
import  matplotlib.pyplot as plt
#导入可视化需要的库
import PIL.Image
from cStringIO import StringIO
#from io import BytesIO
import scipy.misc
from IPython.display import clear_output, Image, display

def DisplayArray(a, fmt='jpeg', rng=[0,1]):
    """Display an array as a picture."""
    a = (a - rng[0])/float(rng[1] - rng[0])*255
    a = np.uint8(np.clip(a, 0, 255))
    f = StringIO()
    # f = BytesIO()
    PIL.Image.fromarray(a).save(f, fmt)
    #display(Image(data=f.getvalue()))
    scipy.misc.imsave("testimg.jpg", a)
    image = PIL.Image.open("testimg.jpg")
    image.show()
sess = tf.InteractiveSession()

def make_kernel(a):
    """Transform a 2D array into a convolution kernel"""
    a = np.asarray(a)
    a = a.reshape(list(a.shape) + [1,1])
    return tf.constant(a, dtype=1)

def simple_conv(x, k):
    """A simplified 2D convolution operation"""
    x = tf.expand_dims(tf.expand_dims(x, 0), -1)
    y = tf.nn.depthwise_conv2d(x, k, [1, 1, 1, 1], padding='SAME')
    return y[0, :, :, 0]

def laplace(x):
    """Compute the 2D laplacian of an array"""
    laplace_k = make_kernel([[0.5, 1.0, 0.5],
                             [1.0, -6., 1.0],
                             [0.5, 1.0, 0.5]])
    return simple_conv(x, laplace_k)

N = 500

# Initial Conditions -- some rain drops hit a pond

# Set everything to zero
u_init = np.zeros([N, N], dtype="float32")
ut_init = np.zeros([N, N], dtype="float32")

# Some rain drops hit a pond at random points
for n in range(40):
    a,b = np.random.randint(0, N, 2)
    u_init[a,b] = np.random.uniform()

DisplayArray(u_init, rng=[-0.1, 0.1])


eps = tf.placeholder(tf.float32, shape=())
damping = tf.placeholder(tf.float32, shape=())

# Create variables for simulation state
U  = tf.Variable(u_init)
Ut = tf.Variable(ut_init)

# Discretized PDE update rules
U_ = U + eps * Ut
Ut_ = Ut + eps * (laplace(U) - damping * Ut)

# Operation to update the state
step = tf.group(
    U.assign(U_),
    Ut.assign(Ut_))
# Initialize state to initial conditions
tf.initialize_all_variables().run()

# Run 1000 steps of PDE
for i in range(1000):
    # Step simulation
    step.run({eps: 0.03, damping: 0.04})
    # Visualize every 50 steps
    if i % 50 == 0:
        clear_output()
        DisplayArray(U.eval(), rng=[-0.1, 0.1])

  • 大小: 188.3 KB
分享到:
评论

相关推荐

    网络仿真实验(windows2000)

    用SWF动画格式不模拟windows2000操作系统的安装,对初馺用户有较好的指导作用

    采用TensorFlow实现的神经网络模型,主要用于训练流体模拟数据,包括数据读入,数据预处理.zip

    在本项目中,我们主要探讨的是如何利用TensorFlow这一强大的深度学习框架来构建一个全连接神经网络模型,用于处理流体模拟数据的训练。TensorFlow是Google开发的一个开源库,广泛应用于机器学习和深度学习领域,它...

    tensorflow中文手册

    通过定义计算函数、偏微分方程,并开始仿真,研究者可以利用TensorFlow解决复杂系统模型的数值模拟问题。 最后,手册介绍了如何下载MNIST数据集,这是学习和实验中经常用到的步骤。掌握这些基础知识后,学习者将...

    人工智能通用算法工具tensorflow

    通过定义计算函数和偏微分方程,TensorFlow可以进行仿真和模拟。 TensorFlow的运作方式深入涉及到变量的创建、初始化、保存和恢复。这些都是在使用TensorFlow进行训练和预测时必须掌握的基础知识。TensorFlow允许...

    shenjingwangluo.rar_图形仿真_神经 图_神经网络仿真

    这些源代码可能包含了用于创建图形界面的库(如Tkinter或PyQt)、神经网络库(如TensorFlow或PyTorch)以及用于处理神经网络仿真的算法。用户可以研究这些代码,理解其工作原理,甚至进行二次开发,以满足特定项目的...

    人工神经网络原理与仿真实例第2版资源

    书中提供的仿真实例可能涉及使用Python的深度学习框架,如TensorFlow、Keras或PyTorch,进行神经网络的构建、训练和评估。这些实例将帮助初学者理解理论知识,并掌握实际操作技巧。 通过阅读和实践《人工神经网络...

    全国新课程高考英语仿真信息卷(一)(扫描版)(2021-2022学年).pdf

    很抱歉,根据您提供的文件标题和描述,这似乎是一份针对高考英语复习的模拟试卷,主要服务于2021-2022学年的学生。然而,由于标签为"文档",并且没有提供具体试题或内容的详细信息,我无法直接生成关于详细IT知识点...

    Linear_Regression_with_Tensorflow.js:使用P5.JS和Tensorflow.js模拟线性回归算法

    我已经使用P5.JS图形库和Tensorflow.js深度学习库创建了线性回归的仿真。 用户可以在运行时在画布上插入数据点,因此,最佳拟合线将更改其参数。 Tensorflow.js用于最小化损失函数。 sketch.js包含模拟的核心逻辑。

    Logistic_Regression_with_Tensorflow.js:使用P5.JS和Tensorflow.js模拟Logistic回归算法

    我已经使用P5.JS图形库和Tensorflow.js深度学习库创建了Logistic回归的仿真。 用户可以在画布上插入数据点以及在运行时更改数据点的类,因此二进制分类器行将更改其参数。 Tensorflow.js用于最小化损失函数。 sketch...

    神经网络仿真软件

    神经网络仿真软件是一种用于模拟和设计神经网络模型的工具,它可以帮助用户理解、构建和测试各种类型的神经网络架构。在IT行业中,神经网络是人工智能的一个关键组成部分,尤其在机器学习和深度学习领域,它们被广泛...

    _Python_Part__道路python_python模拟交通_python交通_NaSch模型_车辆模型_

    在IT行业中,交通仿真模拟是应用广泛的一个领域,特别是在城市规划、交通管理以及自动驾驶系统的研究中。本项目聚焦于Python编程语言实现的交通仿真模型,包括道路模型、车辆模型以及驾驶模式模型。以下是对这些核心...

    智能仿真系统项目申请报告.zip

    可能包括但不限于Python编程语言、SimPy等开源仿真库,以及可能的机器学习框架如TensorFlow或PyTorch,用于数据驱动的预测和优化。 3. **模型构建**:基于业务流程,构建精细的仿真模型,包括实体(如产品、设备、...

    模拟人类:计算机图形动画和控制Simulating Humans: Computer Graphics Animation and Control

    在探讨《模拟人类:计算机图形动画和控制》这一主题时,我们主要关注的是如何通过计算机科学技术来实现对人类行为、动作以及交互模式的仿真。该领域不仅涉及基础的图形渲染技术,还包括复杂的运动捕捉、物理模拟及...

    TensorFlow平台深度学习的网络路由路径优化选择研究.pdf

    在仿真环境中,使用NS3网络仿真软件,模拟了真实网络环境下的数据传输,并针对不同的网络性能指标进行优化。通过搭建和训练深度学习模型,可以对网络中的数据包进行智能路由,有效减少网络的平均时延和信令开销,...

    tensorflow实现二维平面模拟三维数据教程

    import tensorflow as tf ''' 程序生成了一些三维数据, 然后用一个平面拟合它. ''' if __name__ == '__main__': x_data = np.float32(np.random.rand(2, 100)) y_data = np.dot([0.100, 0.200], x_data) + 0.300 ...

    dl_tensorflow_lite.mlpkginstall

    2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士...

    unity 模拟自动驾驶 自动驾驶驾照系统

    在机器学习方面,Unity模拟环境可以配合深度学习框架,如TensorFlow或PyTorch,用于训练自动驾驶的神经网络模型。这些模型可以学习如何识别交通标志、预测其他车辆和行人的行为,以及如何做出安全的驾驶决策。通过...

    用于LSTM回归青霉素发酵过程仿真数据

    这种结构使得LSTM在处理时间序列数据时表现出色,比如语音识别、自然语言处理和预测任务,包括青霉素发酵过程的模拟。 在青霉素发酵过程中,可能的数据包括温度、pH值、溶解氧、搅拌速度等多种环境因素,以及微生物...

    智能仿真系统项目申请报告-精品创业书模板.rar

    报告需详细介绍拟采用的技术路线,例如使用哪种编程语言(如Python、C++),选用何种仿真软件(如MATLAB Simulink、ANSYS)以及如何集成AI模块(如深度学习框架TensorFlow或PyTorch)。此外,还需阐述技术的创新点和...

Global site tag (gtag.js) - Google Analytics