- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取DCGAN (深度卷积生成对抗网络)与 tensorflow for Java 一起使用.
我已将必要的代码添加到 DCGAN 的 model.py 中,如下所示,以输出稍后在 Java 的 tensorflow 中使用的图形。
//at the beginning to define where the model will be saved
#
self.load_dir = load_dir
self.models_dir = models_dir
graph = tf.Graph()
self.graph = graph
self.graph.as_default()
#
//near the end where the session is ran in order to build and save the model to be used in tensorflow for java. A model is saved every 200 samples as defined by DCGAN’s default settings.
#
steps = "training_steps-" + "{:08d}".format(step)
set_models_dir = os.path.join(self.models_dir, steps)
builder = tf.saved_model.builder.SavedModelBuilder(set_models_dir)
self.builder = builder
self.builder.add_meta_graph_and_variables(self.sess, [tf.saved_model.tag_constants.SERVING])
self.builder.save()
#
上述代码输出一个由以下 Java 代码加载的图表
package Main;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Random;
import javax.imageio.ImageIO;
import org.tensorflow.Tensor;
public class DCGAN {
public static void main(String[] args) throws Exception {
String model_dir = "E:\\AgentWeb\\mnist-steps\\training_steps-00050000";
//SavedModelBundle model = SavedModelBundle.load(model_dir , "serve");
//Session sess = model.session();
Random rand = new Random();
int sample_num = 64;
int z_dim = 100;
float [][] gen_random = new float [64][100];
for(int i = 0 ; i < sample_num ; i++) {
for(int j = 0 ; j < z_dim ; j++) {
gen_random[i][j] = (float)rand.nextGaussian();
}
}
Tensor <Float> sample_z = Tensor.<Float>create(gen_random, Float.class);
Tensor <Float> sample_inputs = Tensor.<Float>create(placeholder, Float.class);
// placeholder is the tensor which I want to create after solving the problem below.
//Tensor result = sess.runner().fetch("t_vars").feed("z", sample_z).feed("inputs", sample_inputs).run().get(3);
}
}
(我在使用它们进行调试时留下了一些评论)
使用这种方法,我陷入了将 python 代码转换为 Java 以在 Java 的 tensorflow 中使用的特定部分。在处理图像的 DCGAN 的 model.py 中,有以下代码。
get_image(sample_file,
input_height=self.input_height,
input_width=self.input_width,
resize_height=self.output_height,
resize_width=self.output_width,
crop=self.crop,
grayscale=self.grayscale) for sample_file in sample_files]
它在saved_utils.py中调用get_iamge,如下
def get_image(image_path, input_height, input_width,
resize_height=64, resize_width=64,
crop=True, grayscale=False):
image = imread(image_path, grayscale)
return transform(image, input_height, input_width,
resize_height, resize_width, crop)
然后调用一个名为 imread 的方法,如下所示
def imread(path, grayscale = False):
if (grayscale):
return scipy.misc.imread(path, flatten = True).astype(np.float)
else:
# Reference: https://github.com/carpedm20/DCGAN-tensorflow/issues/162#issuecomment-315519747
img_bgr = cv2.imread(path)
# Reference: https://stackoverflow.com/a/15074748/
img_rgb = img_bgr[..., ::-1]
return img_rgb.astype(np.float)
我的问题是我不确定 img_rgb = img_bgr[...,::-1] 是什么
部分的作用以及如何将其转换为在 tensorflow.java 中的 Java 文件中使用。
我熟悉Python切片数组的方式,但我不熟悉其中使用的三个点。我确实读到了对 stackoverflow questions 的引用那里提到它类似于 img[:, :,::-1]
。但我不太确定它到底在做什么。
感谢您的帮助,并感谢您花时间阅读这篇长文。
最佳答案
imread
和 get_image
的基本作用是1)读取图像2)将其从BGR转换为RGB3)将其转换为 float 4)重新缩放图像
您可以在 Java 中使用成像库(例如 JMagick 或 AWT)或使用 TensorFlow 来执行此操作。
如果您使用 TensorFlow,则可以以 eager 模式或通过构建和运行小图来运行此预处理。例如,给定 tf 一个 org.tensorflow.op.Ops 实例:
tf.image.decode*
可以读取图像的内容(您知道图像的类型,但可以选择正确的操作)。tf.reverse
可以反转 channel 维度中的值(RGB 到 BGR)tf.dtypes.cast
可以将图像转换为 float tf.image.resizeBilinear
可以重新缩放图像关于java - 需要帮助将 DCGAN 转换为 Java for Tensorflow for Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59728029/
基本思想是,我加载一个经过训练的模型 (DCGAN) 并用它对图像进行异常检测。对于异常检测,我必须在测试阶段进行一些迭代来评估它是否是异常。 为此,我在测试设置中有两个损失函数,它们应该计算生成器输
简介: 我正在尝试让 CDCGAN(条件深度卷积生成对抗网络)处理 MNIST 数据集,考虑到我使用的库(PyTorch)在其网站上有教程,这应该相当容易。 但我似乎无法让它工作,它只会产生垃圾或模型
我正在尝试获取DCGAN (深度卷积生成对抗网络)与 tensorflow for Java 一起使用. 我已将必要的代码添加到 DCGAN 的 model.py 中,如下所示,以输出稍后在 Java
我已经为 DCGAN 构建了自己的实现在 TensorFlow培训 MNIST . 完整代码(可运行)可在 github 上找到:https://github.com/Daniel451/tfdcga
原文DCGAN paper ,在 Imagenet 上进行训练后,GAN 通过用作特征提取器来对 CIFAR-10 进行分类进行部分评估。 来自论文: To evaluate the quality
我正在使用位于 https://github.com/chainer/chainer/blob/master/examples/dcgan/train_dcgan.py 的 Chainer DCGAN
我正在尝试构建一个 dcgan 神经网络。 我收到: InvalidArgumentError: Matrix size-incompatible: In[0]: [16,1024], In[1]:
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗?更新问题,使其仅关注一个问题 editing this post . 关闭 4 年前。 Improve this que
我是一名优秀的程序员,十分优秀!