小编Man*_*nas的帖子

我们是否需要在 Spring 中同时使用 @Transactional 和 @Modifying 注解?

我仍然试图围绕@Transactional 的工作原理进行思考。

@Transactional对 Service 类的方法进行了@Modifying注释,对 Repository 类中的方法进行了注释。带@Transactional注释的方法是否适用于带注释的 Repository 中的方法@Modifying

我的理解:

@Transactional@Transactional( readOnly = true )没有数据的类的方法上写入数据库,而在使用 时@Transactional,数据写入数据库。

修改查询

  1. 修改方法签名只能返回voidInteger或者int
  2. 更新查询必须是事务性的,标记为 @Transactional
  3. Spring Data 将删除所有未刷新的更改EntityManager,更改为@Modifying(clearAutomatically=false)

正如第二点所说的@Modifying查询必须有@Transactional(readOnly=false),所以我们可以在@Service方法调用@Repository级别或方法级别调用中添加它。如果在@Service级别添加它也适用于@Respository@Service级别方法调用中调用的方法?

例子:

@Service
class AnimalServiceImpl implements AnimalService {

@Autowire
AnimalRepository animalRepository;

@Override
@Transactional
public void persistAnimal() {
....
animalRepository.save();
}

@Override
@Transactional(readOnly …
Run Code Online (Sandbox Code Playgroud)

java spring transactions spring-transactions

11
推荐指数
1
解决办法
1万
查看次数

为什么 DeepLabV3+ 生成的所有图像都变成黑色?

我尝试使用 DeepLab v3+ 进行语义分割,但结果全黑。

我删除了原始文件,并将原始数据分别放在 ImageSets/,JPEGImages/ 和 SegmentationClass/ 中。

我根据 PASCAL VOC 2012 颜色的规则准备了 SegmentationClassRaw 图像。

我编辑了 build_voc2012_data.py 和 segmenting_dataset.py

[build_voc2012_data.py]

FLAGS = tf.app.flags.FLAGS

tf.app.flags.DEFINE_string('image_folder',
                           './VOCdevkit/VOC2012/JPEGImages',
                           'Folder containing images.')

tf.app.flags.DEFINE_string(
    'semantic_segmentation_folder',
    './VOCdevkit/VOC2012/SegmentationClassRaw',
    'Folder containing semantic segmentation annotations.')

tf.app.flags.DEFINE_string(
    'list_folder',
    './VOCdevkit/VOC2012/ImageSets/Segmentation',
    'Folder containing lists for training and validation')

tf.app.flags.DEFINE_string(
    'output_dir',
    './tfrecord',
    'Path to save converted SSTable of TensorFlow examples.')


_NUM_SHARDS = 4

# add -->>
FLAGS.image_folder = "./pascal_voc_seg/VOCdevkit/VOC2012/JPEGImages"
FLAGS.semantic_segmentation_folder = "./pascal_voc_seg/VOCdevkit/VOC2012/SegmentationClassRaw"
FLAGS.list_folder = "./pascal_voc_seg/VOCdevkit/VOC2012/ImageSets/Segmentation"
FLAGS.image_format = "png"
FLAGS.output_dir = "./pascal_voc_seg/tfrecord"
# …
Run Code Online (Sandbox Code Playgroud)

segmentation-fault deep-learning tensorflow semantic-segmentation deeplab

5
推荐指数
1
解决办法
1114
查看次数

何时使用 mlflow.set_tag() 与 mlflow.log_params()?

我对 mlflow.set_tag() 与 mlflow.log_params() 的用例感到困惑,因为两者都采用键和值对。目前,我使用 mlflow.set_tag() 来设置数据版本、代码版本等标签,并使用 mlflow.log_params() 来设置模型训练参数,如损失、准确性、优化器等。

machine-learning mlflow

5
推荐指数
1
解决办法
994
查看次数