小编24h*_*urs的帖子

为什么类型断言在一个案例中有效,而在另一个案例中有效?

这是有问题的源代码:

http://play.golang.org/p/lcN4Osdkgs

package main
import(
    "net/url"
    "io"
    "strings"
) 

func main(){
    v := url.Values{"key": {"Value"}, "id": {"123"}}
    body := strings.NewReader(v.Encode())
    _ = proxy(body)
    // this work 

    //invalid type assertion: body.(io.ReadCloser) (non-interface type *strings.Reader on left)
    _, _ = body.(io.ReadCloser)

}

func proxy( body io.Reader) error{
    _, _ = body.(io.ReadCloser)
    return  nil
}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我为什么这段代码不起作用?

错误发生在这里:

body := strings.NewReader(v.Encode())

rc, ok := body.(io.ReadCloser)

// invalid type assertion: body.(io.ReadCloser) (non-interface type *strings.Reader on left)
Run Code Online (Sandbox Code Playgroud)

但是proxy(body io.Reader)做同样的事情,但没有错误.为什么?

http://play.golang.org/p/CWd-zMlrAZ

go

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

Tensorflow 上的全卷积网络 (FCN)

我正在尝试在 tensorflow 上重新实现 FCN。我已经实现了反卷积层。

up8_filter = tf.Variable(tf.truncated_normal([64, 64, 21, 21]))
prob_32 = tf.nn.conv2d_transpose(score, up8_filter, output_shape = [batch_size, 224, 224, 21], strides = [1, 32, 32, 1])
tf.histogram_summary('fc8_filter', up8_filter)
Run Code Online (Sandbox Code Playgroud)

训练看起来很好,损失值下降直到变成Nan. 我检查了张量板,它表明up8_filter似乎有分歧。

在此处输入图片说明

有没有办法规范 Tensorflow 中的权重值?
我试过以下方法

  1. 较低的学习率
  2. 零均值图像

我没有按照 FCN 实现将图像填充到 100 像素,因为 Tensorflowconv2d不支持它。我使用caffe-tensorflow转换了 VGG 权重,我无法改变它的网络结构。

我很抱歉这个令人困惑的问题,有很多事情要出错,我不知道从哪里开始。

损失值的片段。

第 1 步:损失 = 732171599872.00
第 10 步:损失 = 391914520576.00
第 20 步:损失 = 32141299712.00
第 30 步:损失 = 1255705344.00

[更新]:

损失函数 loss32

 loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits( …
Run Code Online (Sandbox Code Playgroud)

tensorflow

3
推荐指数
1
解决办法
7485
查看次数

tensorflow image_resize 在未知图像大小上弄乱了图像

我有一个可变大小图像列表,并希望将它们标准化为 256x256 大小。我使用了以下代码

import tensorflow as tf
import matplotlib.pyplot as plt

file_contents = tf.read_file('image.jpg')
im = tf.image.decode_jpeg(file_contents)
im = tf.image.resize_images(im, 256, 256)

sess = tf.Session()
sess.run(tf.initialize_all_variables())

img = sess.run(im)

plt.imshow(img)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但是,tf.resize_images()往往会弄乱图像。但是,使用tf.reshape()似乎可以resize_image()正确运行

Tensorflow 版本:0.8.0

原图: 在此处输入图片说明

调整大小的图像: 在此处输入图片说明

我知道 skimage 包可以处理我需要的东西,但是我希望从tf.train.shuffle_batch(). 我尽量避免维护 2 个相同的数据集(具有 1 个固定图像大小),因为 Caffe 处理它们似乎没有问题。

python tensorflow

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

标签 统计

tensorflow ×2

go ×1

python ×1