chebykan閱讀收尾

sciml

SciML 是?科學機器學習 (Scientific Machine Learning) 的縮寫,它指的是將機器學習方法應用于解決科學問題,例如物理、化學、生物學等領域中的問題。SciML 旨在利用機器學習的強大能力來提高科學計算的效率和準確性。

SciML 的主要問題:

  • 數據獲取: 科學問題通常需要大量的高質量數據,而獲取這些數據可能非常困難、昂貴或耗時。

  • 模型選擇: SciML 需要選擇合適的機器學習模型來描述科學問題,例如物理信息神經網絡 (PINNs) 和深度算子網絡 (DeepONets)。

  • 模型訓練: SciML 需要訓練機器學習模型,使其能夠準確地預測科學問題的行為。這通常需要大量的計算資源和時間。

  • 模型驗證: SciML 需要驗證機器學習模型的準確性,以確保其預測結果可靠。

  • 模型解釋: SciML 需要解釋機器學習模型的預測結果,以便科學家能夠理解其背后的物理機制。

SciML 的應用:

  • 偏微分方程 (PDEs) 求解: SciML 可以用于求解各種 PDEs,例如波動方程、擴散方程、流體動力學方程等。

  • 算子學習: SciML 可以用于學習將函數映射到函數的算子,例如傅里葉算子、拉普拉斯算子等。

  • 不確定性量化 (UQ): SciML 可以用于量化科學問題中的不確定性,例如參數估計、數據噪聲等。

  • 材料設計: SciML 可以用于設計新材料,例如藥物分子、合金等。

  • 生物信息學: SciML 可以用于分析生物數據,例如基因組序列、蛋白質結構等。

SciML 的優勢:

  • 提高計算效率: SciML 可以顯著減少科學計算所需的時間和資源。

  • 提高預測精度: SciML 可以提高科學問題的預測精度,例如物理現象的模擬和材料性能的預測。

  • 發現新知識: SciML 可以幫助科學家發現新的科學知識和物理規律。

總而言之,SciML 是一個快速發展的領域,它為解決科學問題提供了新的工具和方法?

?deeponet代碼

?

由于 DeepONet 的應用范圍很廣,需要根據具體問題進行代碼編寫。以下是一個基于 PyTorch 的簡單 DeepONet 代碼示例,用于解決一個簡單的函數逼近問題:

python

復制

import torch
import torch.nn as nn
import torch.optim as optim# 定義主干網絡
class BranchedNN(nn.Module):def __init__(self, input_dim, hidden_dim, output_dim):super(BranchedNN, self).__init__()self.net = nn.Sequential(nn.Linear(input_dim, hidden_dim),nn.Tanh(),nn.Linear(hidden_dim, hidden_dim),nn.Tanh(),nn.Linear(hidden_dim, output_dim))def forward(self, x):return self.net(x)# 定義分支網絡
class TrunkNN(nn.Module):def __init__(self, input_dim, hidden_dim, output_dim):super(TrunkNN, self).__init__()self.net = nn.Sequential(nn.Linear(input_dim, hidden_dim),nn.Tanh(),nn.Linear(hidden_dim, hidden_dim),nn.Tanh(),nn.Linear(hidden_dim, output_dim))def forward(self, x):return self.net(x)# 定義 DeepONet
class DeepONet(nn.Module):def __init__(self, input_dim, hidden_dim, output_dim):super(DeepONet, self).__init__()self.branched_nn = BranchedNN(input_dim, hidden_dim, hidden_dim)self.trunk_nn = TrunkNN(hidden_dim, hidden_dim, output_dim)def forward(self, x):x = self.branched_nn(x)x = self.trunk_nn(x)return x# 定義函數逼近問題
def f(x):return torch.sin(x)# 生成訓練數據
x = torch.randn(1000, 1)
y = f(x)# 定義 DeepONet 模型
model = DeepONet(1, 64, 1)# 定義損失函數和優化器
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)# 訓練模型
for epoch in range(1000):optimizer.zero_grad()y_pred = model(x)loss = criterion(y_pred, y)loss.backward()optimizer.step()if epoch % 100 == 0:print(f'Epoch {epoch}: Loss = {loss.item()}')# 評估模型
x_test = torch.linspace(-5, 5, 100).unsqueeze(1)
y_test = f(x_test)
y_pred_test = model(x_test)# 繪制結果
import matplotlib.pyplot as pltplt.plot(x_test.numpy(), y_test.numpy(), label='True Function')
plt.plot(x_test.numpy(), y_pred_test.detach().numpy(), label='DeepONet')
plt.legend()
plt.show()

代碼解釋:

  1. 定義主干網絡和分支網絡: 代碼首先定義了主干網絡和分支網絡的類,它們都使用兩層隱藏層,每層 64 個神經元,并使用 tanh 激活函數。

  2. 定義 DeepONet 模型: DeepONet 類將主干網絡和分支網絡組合起來,并定義了前向傳播過程。

  3. 定義函數逼近問題: 代碼定義了一個簡單的正弦函數作為逼近目標。

  4. 生成訓練數據: 代碼生成了 1000 個隨機數作為輸入,并計算對應的函數值作為目標輸出。

  5. 定義 DeepONet 模型: 代碼創建了一個 DeepONet 實例。

  6. 定義損失函數和優化器: 代碼使用均方誤差作為損失函數,并使用 Adam 優化器進行訓練。

  7. 訓練模型: 代碼進行 1000 個訓練輪次,每個輪次計算損失、更新模型參數,并打印損失值。

  8. 評估模型: 代碼使用 100 個等距分布的測試數據點來評估模型的性能,并繪制真實函數和模型預測結果的對比圖。

請注意,這只是一個簡單的示例,實際的 DeepONet 代碼需要根據具體問題進行調整。 例如,你可能需要調整網絡架構、激活函數、損失函數、優化器等參數。

其他 DeepONet 代碼資源:

  • DeepONets 論文: https://arxiv.org/abs/1806.07366

  • PyTorch Geometric: https://pytorch-geometric.readthedocs.io/en/latest/modules/nn.html#deephomology networks

  • TensorFlow Probability: https://www.tensorflow.org/probability/api_docs/python/tfp/layers/deeponet

希望這個代碼示例能幫助你理解 DeepONet 的基本原理和代碼實現。

?

ns方程的Re=400和2000是什么意思

?

在納維-斯托克斯方程的研究中,雷諾數 (Re) 是一個非常重要的無量綱參數,它表征了流體的慣性力與粘性力之比。Re 的值決定了流體的流動狀態,并影響流動的復雜性和物理特性。

Re = 400:

  • 層流: 當 Re 較低時 (例如 Re = 400),流體的粘性力占主導地位,流體呈現出層流狀態。層流是一種平滑的、有序的流動,其中流體以平行層的形式流動,層與層之間沒有明顯的混合。

  • 流動分離: 即使在層流狀態下,當 Re 達到 400 左右時,在特定情況下也可能出現流動分離現象。流動分離是指流體在經過物體表面時,由于粘性效應,流體與物體表面分離,形成旋渦。

Re = 2000:

  • 過渡流: 當 Re 介于 400 到 4000 之間時,流體處于過渡流狀態。過渡流是介于層流和湍流之間的流動狀態,其中流體既包含層流區域,也包含湍流區域。

  • 湍流: 當 Re 較高時 (例如 Re = 2000),流體的慣性力占主導地位,流體呈現出湍流狀態。湍流是一種復雜的、無序的流動,其中流體以混亂的方式流動,并伴隨著強烈的混合和能量耗散。

在納維-斯托克斯方程的研究中,研究 Re = 400 和 Re = 2000 的流動可以幫助我們理解:

  • 層流和湍流的轉變: 通過研究 Re = 400 和 Re = 2000 的流動,我們可以了解流體何時以及如何從層流轉變為湍流。

  • 流動分離: 通過研究 Re = 400 和 Re = 2000 的流動,我們可以了解流動分離現象發生的條件,以及如何控制流動分離。

  • 湍流特性: 通過研究 Re = 2000 的湍流,我們可以了解湍流的物理特性,例如湍流強度、湍流結構等。

總而言之,Re = 400 和 Re = 2000 是納維-斯托克斯方程研究中兩個重要的雷諾數,它們分別代表了層流和湍流狀態,以及層流到湍流的過渡狀態

?

EVM熵粘度法是什么意思

?

在提供的文章中,EVM 指的是?熵粘度法 (Entropy Viscosity Method),它是一種用于高雷諾數流動模擬的數值方法。

EVM 的原理:

  • 人工粘度: EVM 通過引入人工粘度來穩定數值解。人工粘度是一種人為添加的粘性項,它可以抑制數值解中的波動和振蕩,從而提高解的穩定性和精度。

  • 熵條件: EVM 引入熵條件來控制人工粘度的大小。熵條件要求數值解滿足熵增原理,即流動過程中的熵不會減少。

EVM 的優勢:

  • 提高穩定性: EVM 可以顯著提高數值解的穩定性,尤其是在高雷諾數流動模擬中。

  • 提高精度: EVM 可以提高數值解的精度,尤其是在流動分離和激波等復雜流動現象的模擬中。

  • 保持物理一致性: EVM 引入熵條件,可以確保數值解滿足物理規律,例如熵增原理。

EVM 的應用:

  • 高雷諾數流動: EVM 廣泛應用于高雷諾數流動模擬,例如湍流、流動分離等。

  • 激波: EVM 可以有效地模擬激波,例如爆炸波、沖擊波等。

  • 多相流: EVM 也可以應用于多相流模擬,例如氣液兩相流、顆粒流動等。

EVM 與其他數值方法相比:

  • 傳統數值方法: 傳統數值方法,例如中心差分法、迎風格式等,在高雷諾數流動模擬中容易出現不穩定和振蕩問題。EVM 可以有效地解決這些問題。

  • 其他粘度方法: 其他粘度方法,例如人工壓縮性法、耗散格式法等,也需要引入人工粘度來穩定數值解。EVM 通過引入熵條件,可以更好地控制人工粘度的大小,從而提高解的精度。

總而言之,EVM 是一種有效的數值方法,可以用于高雷諾數流動模擬,并提高數值解的穩定性和精度

?

翻譯Thesolutionsof(31)usingPIKAN,cPIKAN,cPIKANwithRBA,andPINNwithRBAareshowninFig.14.Theparametersusedfor trainingthesenetworksaredetailedinTable5.TheresultsinFig.14wereobtainedusingtheAdamoptimizerwithalearningrateof 5×10?4.Thetrainingwasperformedasasinglebatchtrainingtill150,000iterations.InFig.14(a),wedisplaythereferencesolution of(31)computedusingthespectralelementmethod[65].Fig.14(b)presentsthesolutionobtainedusingPIKAN,whileFig.14(c) showstheabsolutepointwiseerrorbetweenthereferenceandPIKANsolutions.ThesolutionobtainedfromthePIKANmethoddid notconvergetothereferencesolution,asrelative𝑙2?errorbetweenPIKANandreferencesolutionsis58.39%.InFig.14(d)and(f), weshowthesolutionsof(31)obtainedfromcPIKANandcPIKANenhancedwithRBA, respectively.Theabsolutepointwiseerrors inthesolutionsobtainedfromcPIKANandcPIKANwithRBAareshowninFig.14(e)and(g),respectively.Therelative𝑙2?errors betweenthereferencesolutionandthosefromcPIKANandcPIKANwithRBAare5.15%and5.65%,respectively, indicatingalmost similarlevelofaccuracyamongthem. InFig.14(h)and(i),weshowthesolutionof(31)obtainedusingPINN(MLParchitecture) withRBAandtheabsolutepointwiseerror, respectively.Therelative 𝑙2?errorbetweenthePINNandthereferencesolutions is 1.51%. InFig. 15,weshowtheconvergenceof all themethodsbyplotting the loss functionEq. (34)against the iterations. It isevident fromFig.15that theMLP-basedarchitecture, enhancedwithRBA, exhibits fasterconvergencecomparedtotheother methods.Adetaileddescriptionofparameters, errors, andefficiency(intermsof runtime) isprovidedinTable5.Theruntime measurements inTable5weretakenonanNvidia’sGeForceRTX-3090GPU. InTable5it isnotedthat runtimeforcPIKANand cPIKANwithRBA(Row2and3)isalmostsimilardespitehaving50,000additionalRBAparameters.Thisiscausedbylatencywhile movingthedatafromtheDRAMtotheprocessor.Asthemodelanddataareverysmall, thevolatileGPUutilitydoesnotexceed morethan15%.Therefore, theruntimeforcPIKANandcPIKANwithRBAisdominatedbylatency

?

使用PIKAN、cPIKAN、帶有RBA的cPIKAN以及帶有RBA的PINN對(31)式的解如圖14所示。用于訓練這些網絡的參數詳細列于表5中。圖14的結果是使用Adam優化器,學習率為5×10^-4,進行單批訓練至150,000次迭代得到的。在圖14(a)中,我們展示了使用譜元法[65]計算的(31)式的參考解。圖14(b)展示了使用PIKAN得到的解,而圖14?顯示了參考解與PIKAN解之間的絕對點對點誤差。PIKAN方法得到的解沒有收斂到參考解,因為PIKAN與參考解之間的相對l2誤差為58.39%。在圖14(d)和(f)中,我們分別展示了使用cPIKAN和帶有RBA的cPIKAN得到的(31)式的解。圖14(e)和(g)分別展示了從cPIKAN和帶有RBA的cPIKAN得到的解的絕對點對點誤差。參考解與cPIKAN和帶有RBA的cPIKAN得到的解之間的相對l2誤差分別為5.15%和5.65%,表明它們之間的精度幾乎相同。在圖14(h)和(i)中,我們分別展示了使用帶有RBA的PINN(MLP架構)得到的(31)式的解及其絕對點對點誤差。PINN與參考解之間的相對l2誤差為1.51%。在圖15中,我們通過繪制損失函數方程(34)與迭代次數的關系,展示了所有方法的收斂性。從圖15可以看出,經過RBA增強的基于MLP的架構與其他方法相比,收斂速度更快。參數、誤差和效率(以運行時間為準)的詳細描述提供在表5中。表5中的運行時間測量是在Nvidia的GeForce RTX-3090 GPU上進行的。表5中指出,盡管帶有RBA的cPIKAN(第2行和第3行)有額外的50,000個RBA參數,但其運行時間幾乎相同。這是由于在數據從DRAM移動到處理器時的延遲造成的。由于模型和數據非常小,易揮發的GPU利用率不會超過15%。因此,cPIKAN和帶有RBA的cPIKAN的運行時間主要由延遲決定。

?

第四章 信息瓶頸

第4章深入分析了切比雪夫物理信息神經網絡 (cPIKAN) 的學習動態,并將其與物理信息神經網絡 (PINN) 進行了比較。為了揭示模型在訓練過程中的行為,作者采用了信息瓶頸 (IB) 理論,該理論基于信息論原理,旨在理解神經網絡如何有效地學習和泛化。

4.1 信息瓶頸方法

IB 方法通過研究神經網絡層之間傳遞的信息量來分析其學習過程。理想情況下,模型應該保留關于輸出變量的所有相關信息,同時丟棄輸入變量中的無關信息,從而形成一個“信息瓶頸”。P29

IB 方法將神經網絡訓練過程劃分為三個階段:

  • 擬合階段: 模型學習數據中的模式,降低訓練誤差。P30

  • 擴散階段: 模型探索不同的特征組合,以提高泛化能力。P31

  • 總擴散階段: 模型找到最佳特征組合,并利用它們最小化泛化誤差。P31

4.2 信噪比 (SNR)

為了量化模型學習過程中的信息傳遞,作者使用了信噪比 (SNR) 作為指標。SNR 衡量了梯度中“信號” (即對模型性能有貢獻的方向) 與“噪聲” (即隨機波動) 之間的比例。P29

4.3 學習階段

作者通過分析 PINN 和 cPIKAN 在求解二維亥姆霍茲方程時的 SNR 變化,揭示了它們的學習動態。P29

  • 擬合階段: PINN 和 cPIKAN 的 SNR 在訓練初期都較高,表明模型能夠有效地學習數據中的模式。P30P31

  • 擴散階段: 隨著 SNR 的下降,模型開始探索不同的特征組合,以提高泛化能力。P30P31

  • 總擴散階段: 當模型找到最佳特征組合時,SNR 再次上升,并達到平衡狀態。在這個階段,模型利用這些特征最小化泛化誤差。P31

主要發現:

  • PINN 和 cPIKAN 都經歷了三個學習階段,表明它們的學習過程具有相似性。P31

  • RBA 技術可以加速 PINN 和 cPIKAN 的訓練過程,并提高它們的預測精度。P32

  • EVM 方法可以幫助 cPIKAN 在高雷諾數流動模擬中保持穩定,并提高預測精度。P21

4.4 總結

第4章通過信息瓶頸理論揭示了 PINN 和 cPIKAN 的學習動態,并強調了 RBA 和 EVM 技術在提高模型性能方面的作用。這些發現有助于我們更好地理解基于 KAN 和 MLP 的表示模型,并為未來的研究提供了指導方向。

未來研究方向:

  • 將 IB 方法應用于其他基于 KAN 的表示模型,例如 DeepOKAN。

  • 開發新的訓練策略和架構,以進一步提高模型的性能和效率。

  • 將基于 KAN 的方法應用于更復雜的科學和工程問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/897787.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/897787.shtml
英文地址,請注明出處:http://en.pswp.cn/news/897787.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot使用Logback日志框架與綜合實例

日志框架的使用,系列文章: 《SpringBoot使用Logback日志框架與綜合實例》 《SpringBoot使用@Slf4j注解實現日志輸出》 《Log4j2日志記錄框架的使用教程與簡單實例》 《SpringBoot使用AspectJ實現AOP記錄接口:請求日志、響應日志、異常日志》 《SpringBoot使用AspectJ的@Arou…

【性能測試】Jmeter詳細操作-小白使用手冊(2)

本篇文章主要介紹Jmeter中如何使用 JSON斷言、同步定時器、事務控制器、CSV數據文件設置、HTTP Cookie管理器 目錄 一:JSON斷言 1:正確結果展示 2:錯誤結果展示 3:JSON配置 (1)Additionally assert …

分布式鎖—Redisson的同步器組件

1.Redisson的分布式鎖簡單總結 Redisson分布式鎖包括:可重入鎖、公平鎖、聯鎖、紅鎖、讀寫鎖。 (1)可重入鎖RedissonLock 非公平鎖,最基礎的分布式鎖,最常用的鎖。 (2)公平鎖RedissonFairLock 各個客戶端嘗試獲取鎖時會排隊,按照隊…

國產編輯器EverEdit - 腳本(解鎖文本編輯的無限可能)

1 腳本 1.1 應用場景 腳本是一種功能擴展代碼,用于提供一些編輯器通用功能提供不了的功能,幫助用戶在特定工作場景下提高工作效率,幾乎所有主流的編輯器、IDE都支持腳本。 ??EverEdit的腳本支持js(語法與javascript類似)、VBScript兩種編程…

服務器上的nginx因漏洞掃描需要升級

前言 最近客戶聯系說nginx存在安全漏洞 F5 Nginx 安全漏洞(CVE-2024-7347) F5Nginx是美國F5公司的一款輕量級Web服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like協議下發行。F5 Nginx存在安全漏洞,該漏洞源于可能允許攻擊者使用特制的…

ASP.NET CORE MVC EF框架

1.一個視圖中的多個表單Form中的變量。 方式一:視圖中跨Form變量不能用,得各自定義變量否則編譯不能通過。變量名還不能相同。 或者方式二:在Form之外定義變量 {ViewData["Title"] "ExpenseForm"; }  {L…

【MySQL 中 `TINYINT` 類型與布爾值的關系】

MySQL 中 TINYINT 類型與布爾值的關系 在 MySQL 數據庫中,BOOLEAN 類型并不存在,BOOLEAN 或 BOOL 都是 TINYINT(1) 的別名。通常,TINYINT(1) 類型用于存儲布爾值。 1. TINYINT 類型介紹 TINYINT 是一個占用 1 字節的整數類型,取…

【Rust基礎】Rust后端開發常用庫

使用Rust有一段時間了,期間嘗試過使用Rust做后端開發、命令行工具開發,以及做端側模型部署,也嘗試過交叉編譯、FFI調用等,也算是基本入門了。在用Rust做后端接口開發時,常常會找不到一些合適庫,而這些庫在J…

[leetcode]位運算

一.AND &運算 注:兩個操作數做&運算結果是不會變大的 二.OR |運算 注:兩個操作數做|運算結果是不會變小的 三.XOR(異或) ^運算 注:結果可能變大也可能變小也可能不變,但是不會導致進位,比如兩個四位的數字做…

常見FUZZ姿勢與工具實戰:從未知目錄到備份文件漏洞挖掘

本文僅供學習交流使用,嚴禁用于非法用途。未經授權,禁止對任何網站或系統進行未授權的測試或攻擊。因使用本文所述技術造成的任何后果,由使用者自行承擔。請嚴格遵守《網絡安全法》及相關法律法規! 目錄 本文僅供學習交流使用&am…

前置機跟服務器的關系

在復雜的IT系統架構中,前置機與服務器的協同配合是保障業務高效、安全運行的關鍵。兩者的關系既非簡單的上下級,也非獨立個體,而是通過功能分層與職責分工,構建起一套既能應對高并發壓力、又能抵御安全風險的彈性體系。 在當今復…

MySQL中有哪些索引

1,B-Tree索引:常見的索引類型 2,哈希索引:基于哈希表實現,只支持等值查詢 ,只有Memory存儲引擎和NDB Cluster存儲引擎顯示支持哈希索引 3,全文索引:可在字符列上創建(T…

Python爬蟲---中國大學MOOC爬取數據(文中有數據集)

1、內容簡介 本文為大二在校學生所做,內容為爬取中國大學Mooc網站的課程分類數據、課程數據、評論數據。數據集大佬們需要拿走。主要是希望大佬們能指正代碼問題。 2、數據集 課程評論數據集,343525條(包括評論id、評論時間、發送評論用戶…

Tomcat 安裝

一、Tomcat 下載 官網:Apache Tomcat - Welcome! 1.1.下載安裝包 下載安裝包: wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.tar.gz 安裝 javajdk。 yum install java-1.8.0-openjdk.x86_64 -y /etc/altern…

MC34063數據手冊解讀:功能、應用與設計指南

MC34063A/MC33063A 系列是摩托羅拉(現 NXP)推出的高集成度 DC-DC 轉換器控制電路,適用于降壓、升壓和反相應用。本文將基于官方數據手冊,對其核心功能、關鍵參數、典型應用及設計要點進行詳細解讀。 一、核心功能與特性 集成度高…

基于SpringBoot實現旅游酒店平臺功能十一

一、前言介紹: 1.1 項目摘要 隨著社會的快速發展和人民生活水平的不斷提高,旅游已經成為人們休閑娛樂的重要方式之一。人們越來越注重生活的品質和精神文化的追求,旅游需求呈現出爆發式增長。這種增長不僅體現在旅游人數的增加上&#xff0…

Linux入門 全面整理終端 Bash、Vim 基礎命令速記

Linux入門 2025 超詳細全面整理 Bash、Vim 基礎命令速記 剛面對高級感滿滿的 終端窗口是不是有點懵?于是乎,這份手冊就是為你準備的高效學習指南!我把那些讓人頭大的系統設置、記不住的命令都整理成了對你更友好的格式,讓你快速學…

基于deepseek的圖像生成系統

目錄 問題 核心思路 pollinations 提示詞 基于deepseek的圖像生成系統 項目說明 詳細說明 1. 注冊流程 2. 登錄流程 3. 圖片生成流程 4. 圖片下載流程 項目結構 代碼實現 1. 配置文件 config.py 2. 數據庫模型 models.py 3. 解決循環引用 exts.py 4. 登錄和…

mac安裝mysql之后報錯zsh: command not found: mysql !

在Mac上安裝MySQL后,如果終端中找不到mysql命令,通常是 因為MySQL的命令行工具(如mysql客戶端)沒有被正確地添加到你的環境變量中。 檢查 MySQL 是否已安裝 ps -ef|grep mysql查看到路徑在 /usr/local/mysql/bin 查看 .bash_pro…

骨質健康護理筆記

1. 閱讀資料 《骨質疏松癥不是“老年病”!除了補鈣、曬太陽,專家還推薦… —— 健康湖北》