小编mag*_*mar的帖子

从Java访问gradle资源

我有一个基于gradle的java项目,具有这种结构

.
??? myproject
?      ??? src
?      |    ??? main
?      |         ??? java
?      |         ??? resources
?      |               ??? myresource.xml
|      ??? build
|      |     ??? classes
|      |     |    ??? main
?      |     |         ??? myresource.xml
|      |     ??? resources
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用ClassLoader 访问resources文件夹中的一些文件,就像这样

ClassLoader.getSystemClassLoader().getResoure("/myresource.xml");
Run Code Online (Sandbox Code Playgroud)

但它没有找到该文件.

我发现访问这些文件的唯一方法是探索项目的已知结构

Path resourcesPath= FileSystems.getDefault().getPath(System.getProperty("user.dir"), "/src/main/resources/");
Run Code Online (Sandbox Code Playgroud)

我知道自己做错了什么吗?

java resources gradle

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

如何将 imgaug 增强应用于 Tensorflow 2.0 中的 tf.dataDataset

我有一个使用tf.data.Dataset图像和标签的输入管道的应用程序。现在我想使用增强功能,我正在尝试为此使用imgaug库。但是,我不知道该怎么做。我发现的所有示例都使用 KerasImageDataGeneratorSequence.

在代码中,给定一个像这样的顺序增强器

  self.augmenter = iaa.Sequential([
        iaa.Fliplr(config.sometimes),
        iaa.Crop(percent=config.crop_percent),
        ...
        ], random_order=config.random_order)
Run Code Online (Sandbox Code Playgroud)

我试图将该增强器应用于我的数据集中的批量图像,但没有成功。似乎我无法评估张量,因为我在 map 函数中运行我的增强。

def augment_dataset(self, dataset):
    dataset = dataset.map(self.augment_fn())
    return dataset

def augment_fn(self):
    def augment(images, labels):
        img_array = tf.make_ndarray(images)
        images = self.augmenter.augment_images(img_array) 
        return images, labels
    return augment
Run Code Online (Sandbox Code Playgroud)

例如,如果我尝试使用 make_ndarray 我得到一个 AttributeError'Tensor' object has no attribute 'tensor_shape'

这是因为 Dataset.map 没有使用 Eager 模式吗?。关于如何解决这个问题的任何想法?

更新 #1

我试过建议tf.numpy_function,如下

def augment_fn(self):
    def augment(images, labels):
        images = tf.numpy_function(self.augmenter.augment_images,
                                   [images],
                                   images.dtype)
        return images, labels
    return augment …
Run Code Online (Sandbox Code Playgroud)

tensorflow tensorflow-datasets tensorflow2.0

10
推荐指数
1
解决办法
3075
查看次数

当某些变量名称以数字开头时,如何将 Json 映射到 Java 类?

最近我一直在玩一个返回json这样的对象的网络服务

\n\n
{\n  "id": 88319,\n  "dt": 1345284000,\n  "name": "Benghazi",\n  "coord": {\n    "lat": 32.12,\n    "lon": 20.07\n  },\n  "main": {\n    "temp": 306.15,\n    "pressure": 1013,\n    "humidity": 44\n  },\n  "wind": {\n    "speed": 1,\n    "deg": -7\n  },\n  "clouds": {\n    "all": 90\n  },\n  "rain": {\n    "3h": 3\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经自动生成了映射到该 json 数据的 Java 类。问题是我无法生成具有名为3h的属性的 Java 类(在 Java 中,与许多其他语言一样,变量标识符不能以数字开头)。作为一种破解,我将属性3h重新定义为h3,每当我收到来自 Web 服务的 json 响应时,我都会将字符串“3h”替换为“h3”。

\n\n

然而,这种方法仅适用于小型项目。我想知道是否有更方便的方法来处理这种情况。

\n\n

注意:对于这个特定的示例,我使用了一个在线工具,该工具在给定 json 示例的情况下生成 java 类。在其他情况下,我使用了 Jackson 和其他框架。\xc2\xbf这个问题的答案是否依赖于框架?更具体地说,并考虑到未来,我想遵守 json-schema 规范

\n

java json deserialization

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

连接 string 和 tf.string 以获取路径

我正在使用 API 处理 csv 文件tensorflow.Data。csv 中的一项功能是图像名称。为了加载图像,我需要构建一个将基本文件夹与图像名称相结合的路径。但是,由于图像名称是张量并且基本文件夹是字符串,因此我无法使用 os.path.join 将它们连接起来。我包括下面的代码。

def process_csv_data(folder_path, image_dimensions):
    width, height, channels = image_dimensions
    def map_function(raw_data):
        image_path = os.path.join(folder_path,raw_data['image_name'].numpy().decode('utf-8'))
        image = tf.io.read_file(image_path)
        image = tf.image.decode_jpeg(image, channels=channels)
        image = tf.image.resize(image, [width, height])
        image /= 255.0  # normalize to [0,1] range
        return image
    return map_function
Run Code Online (Sandbox Code Playgroud)

前一个函数的使用方法如下:

    raw_csv_dataset = tf.data.experimental.make_csv_dataset(
        csv_path,
        batch_size=1,
        column_names=CSV_COLUMNS,
        shuffle=False)

    dataset = raw_csv_dataset.map(
         process_csv_data(folder_path, image_dimensions, mode),
         num_parallel_calls=tf.data.experimental.AUTOTUNE)
Run Code Online (Sandbox Code Playgroud)

上面的代码产生这个错误:

AttributeError:“张量”对象没有属性“numpy”

我尝试了几种方法但没有成功,例如将文件夹名称转换为张量并使用tf.strings.join,或将 转换tf.string为标准 python string。那么,什么是正确的方法呢?

我正在使用张量流2.0

python tensorflow tensorflow2.0

4
推荐指数
1
解决办法
1593
查看次数

如何使用CSS使html元素对其他元素产生火影

我有两个要相互依赖的元素集合(相互绑定),一方面我在导航栏中有一些文本链接,另一方面我有一些元素引用了相同的链接。这些图像具有动画效果,如下所述(在将鼠标悬停在图像上时会发生动画)。

我想实现以下行为:将鼠标悬停在导航中的链接上时。酒吧,我想激活图像上的悬停效果。¿没有jQuery是否有可能?

这是动画元素的样式

.view-first img { 
    transition: all 0.2s linear;
}
.view-first .mask {
    opacity: 0;
    background-color:rgba(116,89,47,0.8);
    transition: all 0.4s ease-in-out;
}
.view-first h2 {
    transform: translateY(-100px);
    opacity: 0;
    transition: all 0.2s ease-in-out;
}
.view-first p { 
    transform: translateY(100px);
    opacity: 0;
    transition: all 0.2s linear;
}
.view-first a.info{
    opacity: 0;
    transition: all 0.2s ease-in-out;
}
.view-first:hover img { 
    transform: scale(1.1);
} 
.view-first:hover .mask { 
    opacity: 1;
}
.view-first:hover h2,
.view-first:hover p,
.view-first:hover a.info {
    opacity: 1;
    transform: translateY(0px);
}
.view-first:hover …
Run Code Online (Sandbox Code Playgroud)

html css html5 css3

0
推荐指数
1
解决办法
1037
查看次数