- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 LSTM 层训练模型。我使用的是 GPU,所有需要的库都已加载。
当我以这种方式构建模型时:
model = keras.Sequential()
model.add(layers.LSTM(256, activation="relu", return_sequences=False)) # note the activation function
model.add(layers.Dropout(0.2))
model.add(layers.Dense(256, activation="relu"))
model.add(layers.Dropout(0.2))
model.add(layers.Dense(1))
model.add(layers.Activation(activation="sigmoid"))
model.compile(
loss=keras.losses.BinaryCrossentropy(),
optimizer="adam",
metrics=["accuracy"]
)
它有效。但它在 LSTM 层上使用 activation="relu"
,所以它不是 CuDNNLSTM - 当激活函数是 tanh(默认)时自动选择 - 如果我不是错了。
所以,它慢得令人痛苦,我想运行更快的 CuDNNLSTM。我的代码:
model = keras.Sequential()
model.add(layers.LSTM(256, return_sequences=False))
model.add(layers.Dropout(0.2))
model.add(layers.Dense(256, activation="relu"))
model.add(layers.Dropout(0.2))
model.add(layers.Dense(1))
model.add(layers.Activation(activation="sigmoid"))
model.compile(
loss=keras.losses.BinaryCrossentropy(),
optimizer="adam",
metrics=["accuracy"]
)
基本一样,只是没有提供激活函数,所以会用到tanh。但是现在不是训练,输出的结尾是这样的:
2021-04-19 22:41:46.046218: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll
2021-04-19 22:41:46.046426: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll
2021-04-19 22:41:46.046642: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll
2021-04-19 22:41:46.046942: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll
2021-04-19 22:41:46.047124: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll
2021-04-19 22:41:46.047312: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll
2021-04-19 22:41:46.047489: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll
2021-04-19 22:41:46.047663: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll
2021-04-19 22:41:46.047936: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0
2021-04-19 22:41:46.665456: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1261] Device interconnect StreamExecutor with strength 1 edge matrix:
2021-04-19 22:41:46.665712: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1267] 0
2021-04-19 22:41:46.665876: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1280] 0: N
2021-04-19 22:41:46.666186: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1406] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 2982 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)
2021-04-19 22:41:46.667505: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-04-19 22:42:07.374456: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)
Epoch 1/50
2021-04-19 22:42:08.922891: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll
2021-04-19 22:42:09.272264: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll
2021-04-19 22:42:09.302667: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll
Process finished with exit code -1073740791 (0xC0000409)
它只是开始第一个纪元,然后卡住一分钟并以这个奇怪的退出代码退出。
tf.Tensor([50985 29 7], shape=(3,), dtype=int32)
Nvidia GTX 1050 Ti
v11.3
Windows 10
PyCharm
为这个问题寻找解决方案有点具有挑战性,因为我没有输出任何错误。难道我做错了什么?有没有人遇到过类似的问题?应该有什么帮助?
//编辑;我试过了:
3.7.1
将 tensorflow 降级到 2.4.0
,将 CUDA 降级到 11.0
并将 cudnn 降级到 8.0.1
(根据
this list from TensorFlow website 这应该是正确的组合)
最佳答案
我找到了解决方案......有点。
因此,当我将 tensorflow 降级到 2.1.0
,将 CUDA 降级到 10.1
并将 cudnn 降级到 7.6.5
时(在来自 this list on TensorFlow website 的时间第 4 个组合 )
我不知道为什么它在最新版本或 tensorflow 2.4.0
的有效组合中不起作用。
它运行良好,所以我的问题已解决。尽管如此,很高兴知道为什么在更高版本上将 LSTM 与 cudnn 结合使用对我不起作用,因为我在任何地方都没有发现这个问题。
关于python - 未知错误/崩溃 - 带 GPU 的 TensorFlow LSTM(第一个纪元开始后无输出),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67169344/
我将时间存储在 64 位整数中,格式为 20110103101419(即表示 2011-01-03 10:14:19)。如何将其转换为自 1970 年以来的秒数? 最佳答案 我的 C 有点生疏,但看看
我正在生成一个包含过去二十四小时事件 gnuplot 的图表,但时间轴看起来非常糟糕,因为它试图在最后一天每五分钟拟合一次长数字。 gnuplot 有什么方法可以将 x 轴视为纪元时间,并每隔一小时左
我当前正在使用 django 并输出 unix 纪元的日期(以秒为单位)。如何在 unix epoch 中使用 jquery time ago ? 我看到这个例子:2015 年 1 月 10 日 Ja
我在 Google Apps 脚本中将字符串转换为日期对象时遇到一些问题。 我的日期采用以下格式,来自第三方 API: 2013-01-17T17:34:50.507 我正在尝试将其转换为日期对象:
我使用一个库,该库使用以下结构来定义开始时间戳,如下所示。 struct SYSTEMTIME { /** year */ WORD year; /** month *
使用 perl,我试图估计自文件创建以来的时间。我想将本地时间转换为 unix 时间(纪元),然后取文件的 unix 时间并减去。 我面临的问题是,当我将 localtime 转换为 unixtime
我正在使用具有以下响应的 API: { dt: 1474664400, temp: { day: 51.93, min: 46.62, max: 53.53, nigh
我正在从 API 获取估计公交车到达时间的时间戳作为时间戳/纪元:1536589019000。如果我访问类似 this 的网站我得到了适当的格式: 2018 年 9 月 10 日星期一上午 7:16:
我使用的 API 将时间返回为 Unix 时间 (1424952512) 到目前为止,我可以使用将 unix 时间转换为 NSDate func timeStamp(unixTime: Double)
@Data public class SampleDate { private Date revisiondate; } @RequestMapping("/date") public Resp
我在论坛中搜索了我的问题,但一无所获。 :(这个日期时间转换让我发疯。 我尝试将毫秒纪元转换为日期时间。我在互联网上找到了这个方法: private DateTime TimeFromUnix
我有一个 dateTime 变量,我想将它转换为纪元的十进制值。 如何才能做到这一点? 我尝试使用: seconds-from-duration($time, xs:dateTime('1970-01
如何获取纪元中的当前日期值,即自 1970-1-1 以来经过的天数。我需要 unix shell 脚本中的解决方案。 最佳答案 Unix Date 命令将以纪元时间显示 命令是 date +"%s"
这个问题在这里已经有了答案: Convert from date to epoch-Oracle (3 个答案) 关闭 9 个月前。 在使用 Oracle SQL 获取 unix 纪元时间戳方面,有
你能解释一下下面这句话吗,这让我很困惑。1.迭代2.梯度下降步骤3.纪元4.批量大小。 最佳答案 在神经网络术语中: 一个epoch = 所有训练样本的一次前向传递和一次反向传递 批量大小 = 一次前
我在 PostgreSQL 中有一个字符串 "2016-10-25T00:14:30.000"。 我想将时间戳转换为整数,例如:1477354441 我想为该值添加自定义分钟数,例如147735444
我想从 Postgres 获取数据。有一个类型为 timestamp without timezone 的列。简单的 SELECT 返回我格式化的日期,但我只想要以毫秒为单位的时间戳。我如何在 SQL
我的文件包含格式为“[dd.mm.yyyy.] 文本值”的多行。我需要将其转换为“Unix 纪元 | 文本值”。我尝试使用 awk 来执行此操作,但似乎找不到正确的命令例如,如果文件是: [30.08
我的一个表中的一列是 DATE,目前它会自动填充该行创建时间的时间戳。时间戳看起来像 2013-02-10 19:56:12。无论如何,我可以自动使用 unix 纪元为其添加时间戳吗?我希望这是有道理
我需要将时区感知 date_range (TimeStamps) 转换为 UNIX 纪元值,以便在外部 Javascript 库中使用。 我的做法是: # Create localized test
我是一名优秀的程序员,十分优秀!