【发布时间】:2020-06-25 12:40:29
【问题描述】:
我正在尝试序列化一个神经网络,但我面临的事实是我不知道该怎么做。我的代码。
public class Layer implements Serializable {
private final int size;
private ThreadLocal<Vec> out = new ThreadLocal<>();
private Activation activation;
private Optimizer optimizer;
private Matrix weights;
private Vec bias;
private double l2 = 0;
private Layer precedingLayer;
但是在序列化时,我得到以下异常 - 线程“主”java.io.NotSerializableException 中的异常:java.lang.ThreadLocal 如何序列化我的课程?
【问题讨论】:
-
不应该
out是static字段吗? Per the documentation:ThreadLocal instances are typically private static fields in classes that wish to associate state with a thread (e.g., a user ID or Transaction ID). -
如果我把这个字段设为静态,肯定不会被序列化。
标签: java serialization thread-local