当前位置: 首页 > 知识库问答 >
问题:

来自jupyter/Ipython的Tensorflow跑步动画

越星晖
2023-03-14

我正在看tensorflow的水滴在水上的例子,代码

#Import libraries for simulation
import tensorflow as tf
import numpy as np

#Imports for visualization
import PIL.Image
from io import BytesIO
from IPython.display import clear_output, Image, display

#A function for displaying the state of the pond's surface as an image.
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 = BytesIO()
  PIL.Image.fromarray(a).save(f, fmt)
  clear_output(wait = True)
  display(Image(data=f.getvalue()))

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=np.float32)
ut_init = np.zeros([N, N], dtype=np.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])

# Parameters:
# eps -- time resolution
# damping -- wave damping
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.global_variables_initializer().run()

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

然后从Ipython I导入部分\u d,但它不会生成动画。

使用过tensorflow的人知道如何解决这个问题吗?谷歌提到了Ipython笔记本电脑,无法找到/设置,但我确实安装了jupyter和最新的Ipython。

共有2个答案

酆鸿哲
2023-03-14

这让我加快了如何使用jupyter和tensorflow生成涟漪动画的速度。

柳豪
2023-03-14

你以前用过jupyter吗?我认为你需要启动你的笔记本服务器并从里面运行代码。尝试运行jupyter笔记本,然后将代码导入笔记本。或者,您可以将代码复制并粘贴到代码单元格中,然后跳过导入。

我不熟悉你提到的例子,但我认为这不是一个TF问题。看看如何通过jupyter(iPython的新名称,以消除任何混淆)运行它。

 类似资料:
  • 我如何设置MathJax"序言"在IPython(或Jupyter)笔记本中使用,以方便他人阅读我的文档(http://nbviewer.org),并适用于LaTeX/PDF生成的方式重复使用? 我想用IPython(现在的Jupyter)笔记本记录我后来通过LaTeX转换成PDF的文档(使用)。问题是如何包含我在几乎所有文档中使用的一系列宏定义。比如: 等等。就笔记本而言,一个不令人满意的解决方

  • 我正在intelliJ上用livereload测试spring-boot-devtools。我有一个简单的spring boot应用程序,效果很好。 当我从maven命令“mvn-spring-boot:run”启动应用程序时,除了livereload服务器不启动之外,所有工作正常。控制台上没有显示消息,chrome扩展显示错误,无法连接到livereload服务器。 如果我使用(右鼠标按钮/Ru

  • IPython IPython 通常指的是一个 Python REPL shell。提供了远比 Python shell 强大的 shell 环境。 该名词本事即 Iteractive Python shell 的缩写。 IPython notebook IPython notebook 是一个基于 IPython REPL 的 web 应用,安装 IPython 后在终端输入 ipython n

  • 问题内容: 我有两个GPU,想同时通过ipynb运行两个不同的网络,但是第一个笔记本始终分配两个GPU。 使用CUDA_VISIBLE_DEVICES,我可以隐藏python文件的设备,但是我不确定如何在笔记本中这样做。 无论如何,是否会将不同的GPU隐藏在同一服务器上运行的笔记本电脑中? 问题答案: 您可以使用在笔记本中设置环境变量。在初始化TensorFlow以便将TensorFlow限制为第

  • 跑步指数以简单方式监测跑步成绩变化。跑步指数得分是对您最大有氧跑步成绩(VO2max)的估算值。通过随时间记录您的跑步指数,您可以监测跑步效果和如何改进跑步成绩。改进意味着以既定步速跑步时消耗的体力更少,或者在既定的体力消耗水平上,您的步速更快。 为接收到最准确的成绩信息,请确保您已经设置 HRmax 值。 每次训练期间,在测量心率时同时开启 GPS 功能/使用步幅传感器的情况下均会计算跑步指數,

  • 跑步指数以简单方式监测跑步成绩变化。跑步指数得分是对您最大有氧跑步成绩(VO2max)的估算值。通过随时间记录您的跑步指数,您可以监测跑步效果和如何改进跑步成绩。改进意味着以既定步速跑步时消耗的体力更少,或者在既定的体力消耗水平上,您的步速更快。 为接收到最准确的成绩信息,请确保您已经设置 HRmax 值。 每次训练期间,在测量心率时同时开启 GPS 功能/使用步幅传感器的情况下均会计算跑步指數,

  • 跑步指数以简单方式监测跑步成绩变化。跑步指数值用来估计有氧跑步的最高成绩,该成绩受有氧适能和跑步成效的影响。通过随时间记录您的跑步指数,您可以监测进展情况。改进意味着以既定步速跑步时消耗的体力更少,或者在既定的体力消耗水平上,您的步速更快。 为接收到最准确的成绩信息,请确保您已经设置 HRmax 和 HRrest 值。 当心率传感器正在使用中且 GPS 功能开启时,每次训练期间都会计算跑步指数,适

  • Polar 跑步计划是一个随时可用的个人化的跑步计划,用于帮助您针对跑步比赛而进行训练。不论您是进行 5K 长跑训练还是进行马拉松训练,跑步计划都会告诉您如何训练、训练多少、训练频率。 Polar 跑步计划基于您的体能水平制定,用于确保您以正确的方式进行训练,并避免过度训练。这项计划专门针对您的比赛定制,考虑了您的个人特点、训练背景与准备时间。提供针对 5K、10K、半马拉松以及马拉松比赛的跑步计