我是一个初学者,尝试在Kaggle Kernels中使用Tensorflow与TPU一起使用。我以前使用GPU中的数据集训练了Unet模型,现在我试图在TPU中实现它。我用数据集的图像和遮罩制作了tfrecord,而TFrecord返回了图像和遮罩。当我尝试使用TPU进行训练时,即使度量标准的准确性是正常的,但损失始终是Nan。由于这与我在GPU中使用的模型和损耗相同,因此我猜测问题出在tfrecord或加载数据集。 加载数据的代码如下:
Public Sub ExchangeRate()
Dim results(), matches As Object, s As String
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "https://eservices.mas.gov.sg/api/action/datastore/search.json?resource_id=5aa64bc2-d234-43f3-892e-2f587a220f74&fields=end_of_week,usd_sgd,jpy_sgd_100&limit=1&sort=end_of_week%20desc", False
.send
s = .responseText
End With
With CreateObject("VBScript.RegExp")
.Global = True
.IgnoreCase = False
If .Pattern = "usd_sgd"":""(.*?)""" Then
.MultiLine = True
Set matches = .Execute(s)
ReDim results(1 To matches.Count)
ElseIf .Pattern = "jpy_sgd_100"":""(.*?)""" Then
.MultiLine = True
Set matches = .Execute(s)
ReDim results(1 To matches.Count)
End If
End With
Dim match As Variant, r As Long
For Each match In matches
r = r + 1
results(r) = match.submatches(0)
Next
With ThisWorkbook.Worksheets("Sheet1")
.Cells(2, 2).Resize(UBound(results), 1) = Application.Transpose(results)
.Cells(2, 3).Resize(UBound(results), 1) = Application.Transpose(results)
End With
End Sub
那么,我在做什么错?
答案 0 :(得分:0)
原来的问题是我正在整理数据并将其分批处理到20,以正确地查看matplotlib中的图像和蒙版,这搞砸了如何将数据发送到模型,从而造成了Nan损失。在发送原始数据集进行训练的同时,制作数据集的另一个副本并使用该副本查看图像可以解决此问题。