衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TensorFlow在機器學習和模擬偏微分方程中的應用

Tensorflowers ? 來源:cg ? 2018-12-06 14:07 ? 次閱讀

TensorFlow 不僅僅可以用于機器學習。在此教程中,我們所舉的例子(較為尋常)是使用 TensorFlow 模擬偏微分方程的行為(https://en.wikipedia.org/wiki/Partial_differential_equation)。我們將模擬幾個雨滴落在方形池塘水面的情形。

基本設置

需要導入一些庫。

#Import libraries for simulationimport tensorflow as tfimport numpy as np#Imports for visualizationimport PIL.Imagefrom io import BytesIOfrom 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 = BytesIO() PIL.Image.fromarray(a).save(f, fmt) clear_output(wait = True) display(Image(data=f.getvalue()))

接下來,我們發起一個互動式 TensorFlow 會話,以方便練習。如果我們使用可執行的 .py 文件進行模擬,則常規會話一樣可行。

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)

定義 PDE

我們的池塘是一個完美的 500 x 500 正方形,就像自然界中的大多數池塘一樣。

N = 500

接下來,我們創建池塘,并在其表面落入一些雨滴。

# Initial Conditions -- some rain drops hit a pond

# Set everything to zerou_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 pointsfor 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 dampingeps = tf.placeholder(tf.float32, shape=())damping = tf.placeholder(tf.float32, shape=())# Create variables for simulation stateU = tf.Variable(u_init)Ut = tf.Variable(ut_init)# Discretized PDE update rulesU_ = U + eps * UtUt_ = Ut + eps * (laplace(U) - damping * Ut)# Operation to update the statestep = tf.group( U.assign(U_), Ut.assign(Ut_))

運行模擬

情況變得有趣起來 - 使用簡單的 for 循環讓其持續運行。

# Initialize state to initial conditions

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器學習
    +關注

    關注

    66

    文章

    8438

    瀏覽量

    133086
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60631

原文標題:TensorFlow 不僅用于機器學習,還能模擬偏微分方程

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Matlab偏微分方程工具箱應用說明

    poimesh 矩形區域上產生規則的網絡refinemesh 細化三角形網絡wbound 寫一個邊界描述文件wgeom 寫一個幾何描述文件pdecont 畫輪廓圖pdemesh 畫偏微分方程的三角形
    發表于 09-22 15:26

    Matlab求解微分方程(ODEs/PDEs)

    本帖最后由 A670521546 于 2011-7-8 10:29 編輯 常微分方程(ODEs)的MATLAB數值解法》偏微分方程(PDEs)的MATLAB數值解法》Z變換和差分方程
    發表于 07-08 08:42

    計算機Fortran編程實現偏微分方程拉普拉斯變換

    的勢能的行為。直角坐標, 已知為。。。?(V,xyz二級三變量齊次偏微分方程=0)(9.32)穩態電流的條件下,勢能還滿足拉普拉斯方程
    發表于 08-14 20:38

    偏微分方程式數值解之計算機算法詳解

    。*******************************************************************本章節 偏微分方程(計算機數值方法語言Fortran解答)Pg.lp343導論 框架1---- -----偏微分方程常常發生在實踐
    發表于 08-29 14:31

    偏微分方程式數值解之計算機Fortran算法詳解附圖(續i)

    偏微分方程式數值解之計算機Fortran算法詳解附圖(續i) 內容與附圖頁碼一致,續如下:*********************** 粵港澳大灣區 2020-8-29
    發表于 08-29 20:44

    偏微分方程式數值解之計算機Fortran算法詳解附圖(續ii)

    偏微分方程式數值解之計算機Fortran算法詳解附圖(續ii) 內容與附圖頁碼一致,續如下: ******************************粵港澳大灣區2020-08-29
    發表于 08-29 21:14

    微分方程的MAtLAB解法

    摘要:對一些不能求解解析解的常微分方程偏微分方程進行精確求解是非常困難的,探討了用MATLAB方法對此類方程進行求解,結合實例介紹了MATLAB數值計算的方法,先將物體的運
    發表于 01-08 21:24 ?61次下載

    微分方程復習,常微分方程pdf

    微分方程復習,常微分方程pdf:微分方程的一般概念線性常微分方程的性質一階線性常微分方程二階線性常系數
    發表于 04-23 22:08 ?0次下載

    微分方程式的建立與求解

    微分方程式的建立與求解:復習求解系統微分方程的經典法物理系統的模型微分方程的列寫n 階線性時不變系統的描述求解系統微分方程的經典法一.物理系統的模型
    發表于 09-30 19:30 ?0次下載

    基于偏微分方程的閃光照相圖像修補算法

    針對閃光照相底片圖像可能含有缺陷的問題,提出了一種基于偏微分方程的閃光照相圖像修補算法,該算法曲率驅動擴散(CDD)方法的基礎上,引入變系數的狆?Laplac
    發表于 03-05 14:17 ?22次下載

    基于分數階偏微分方程圖像處理應用設計

    分數階偏微分方程圖像處理的應用已受到了廣泛的關注,尤其圖像去噪和圖像超分辨率(SR)重建方面,目前的研究成果已顯示了分數階應用的優勢與效果。對分數階微積分在圖像處理
    發表于 12-06 10:50 ?1次下載

    異性四階偏微分方程耦合二階偏微分方程的圖像放大算法

    針對增強圖像的弱邊緣、細節紋理和消除二階偏微分方程圖像平滑部分的階梯效應問題,提出一種各向異性四階偏微分方程耦合二階偏微分方程的圖像放大
    發表于 01-12 14:38 ?0次下載

    模擬集成電路之頻率響應分析零極點

    零極點的理解是模擬電路最關鍵的基礎之一,信號與系統都會講自然響應,自然響應就是偏微分方程的通解部分,而受迫響應則是偏微分方程的特解。本文將詳解零極點與頻率響應之間的關系。
    發表于 02-21 10:26 ?6.1w次閱讀
    <b class='flag-5'>模擬</b>集成電路之頻率響應分析零極點

    谷歌AI:學習更好的偏微分方程仿真方法

    研究人員已經開始探索使用ML高性能計算方面提供持續改進的可能,以解決偏微分方程和科學計算的困難計算問題。
    的頭像 發表于 07-30 10:20 ?3529次閱讀

    Matlab/Simulink建模詳解:一階時變偏微分方程的求解

    這一次日篤小編來教大家如何在simulnk里面,求解偏微分方程(Partial Differential Equation-PDE)。
    的頭像 發表于 06-25 16:03 ?4120次閱讀
    Matlab/Simulink建模詳解:一階時變<b class='flag-5'>偏微分方程</b>的求解
    百家乐官网电脑赌博| 百家乐的注码技巧| 网上百家乐的技巧| 大发888娱乐网下| 网页百家乐官网官网| 宝马会百家乐的玩法技巧和规则| 东宁县| 闲和庄百家乐赌场娱乐网规则| 网上百家乐官网骗人的吗| 信誉百家乐博彩网| 百家乐官网下注口诀| 奇迹百家乐的玩法技巧和规则| 太阳城百家乐官网出千技术 | 下载百家乐官网棋牌大厅| 六合彩开奖| 百家乐注码方法| 大东方百家乐官网游戏| sz新全讯网新112| 百家乐官网输惨了| 永吉县| 南宁百家乐的玩法技巧和规则 | 澳门百家乐官网怎样下注| 女神百家乐的玩法技巧和规则 | 凯旋门百家乐官网技巧| 澳门赌场老板| 钱柜百家乐的玩法技巧和规则| 百家乐官网博赌城| 陇川县| 百家乐博之道娱乐城| 免佣百家乐官网的玩法| 博狗娱乐场| 大发888更名网址| 百家乐打鱼秘籍| 红9百家乐官网的玩法技巧和规则 高尔夫百家乐官网的玩法技巧和规则 | 百家乐官网所有技巧| 赌博博彩论坛| 全讯网qtqnet好玩| 永利高平台| 百家乐免费改单| 致胜百家乐的玩法技巧和规则| 卢龙县|