- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下卷积神经网络的代码部分:
nhập numpy dưới dạng np
nhập matplotlib.pyplot dưới dạng plt
import cifar_tools
import tensorflow as tf
data, labels = cifar_tools.read_data('C:\\Users\\abc\\Desktop\\temp')
x = tf.placeholder(tf.float32, [None, 150 * 150])
y = tf.placeholder(tf.float32, [None, 2])
w1 = tf.Variable(tf.random_normal([5, 5, 1, 64]))
b1 = tf.Variable(tf.random_normal([64]))
w2 = tf.Variable(tf.random_normal([5, 5, 64, 64]))
b2 = tf.Variable(tf.random_normal([64]))
w3 = tf.Variable(tf.random_normal([6*6*64, 1024]))
b3 = tf.Variable(tf.random_normal([1024]))
w_out = tf.Variable(tf.random_normal([1024, 2]))
b_out = tf.Variable(tf.random_normal([2]))
def conv_layer(x,w,b):
conv = tf.nn.conv2d(x,w,strides=[1,1,1,1], padding = 'SAME')
conv_with_b = tf.nn.bias_add(conv,b)
conv_out = tf.nn.relu(conv_with_b)
return conv_out
def maxpool_layer(conv,k=2):
return tf.nn.max_pool(conv, ksize=[1,k,k,1], strides=[1,k,k,1], padding='SAME')
def model():
x_reshaped = tf.reshape(x, shape=[-1,150,150,1])
conv_out1 = conv_layer(x_reshaped, w1, b1)
maxpool_out1 = maxpool_layer(conv_out1)
norm1 = tf.nn.lrn(maxpool_out1, 4, bias=1.0, alpha=0.001/9.0, beta=0.75)
conv_out2 = conv_layer(norm1, w2, b2)
maxpool_out2 = maxpool_layer(conv_out2)
norm2 = tf.nn.lrn(maxpool_out2, 4, bias=1.0, alpha=0.001/9.0, beta=0.75)
maxpool_reshaped = tf.reshape(maxpool_out2, [-1,w3.get_shape().as_list()[0]])
local = tf.add(tf.matmul(maxpool_reshaped, w3), b3)
local_out = tf.nn.relu(local)
out = tf.add(tf.matmul(local_out, w_out), b_out)
return out
model_op = model()
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(model_op, y))
train_op = tf.train.AdamOptimizer(learning_rate=0.001).minimize(cost)
correct_pred = tf.equal(tf.argmax(model_op, 1), tf.argmax(y,1))
accuracy = tf.reduce_mean(tf.cast(correct_pred,tf.float32))
我正在读取 150x150
灰度图像,但无法理解我遇到的以下错误:
EPOCH 0
Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1021, in _do_call
return fn(*args)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1003, in _run_fn
status, run_metadata)
File "C:\Python35\lib\contextlib.py", line 66, in __exit__
next(self.gen)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 469, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Input to reshape is a tensor with 92416 values, but the requested shape requires a multiple of 2304
[[Node: Reshape_1 = Reshape[T=DT_FLOAT, Tshape=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"](MaxPool_1, Reshape_1/shape)]]
During handling of the above exception, another exception occurred:
Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
File "cnn.py", line 70, in
_, accuracy_val = sess.run([train_op, accuracy], feed_dict={x: batch_data, y: batch_onehot_vals})
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 766, in run
run_metadata_ptr)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 964, in _run
feed_dict_string, options, run_metadata)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1014, in _do_run
target_list, options, run_metadata)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1034, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Input to reshape is a tensor with 92416 values, but the requested shape requires a multiple of 2304
[[Node: Reshape_1 = Reshape[T=DT_FLOAT, Tshape=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"](MaxPool_1, Reshape_1/shape)]]
Caused by op 'Reshape_1', defined at:
File "cnn.py", line 50, in
model_op = model()
File "cnn.py", line 43, in model
maxpool_reshaped = tf.reshape(maxpool_out2, [-1,w3.get_shape().as_list()[0]])
File "C:\Python35\lib\site-packages\tensorflow\python\ops\gen_array_ops.py", line 2448, in reshape
name=name)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 759, in apply_op
op_def=op_def)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 2240, in create_op
original_op=self._default_original_op, op_def=op_def)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 1128, in __init__
self._traceback = _extract_stack()
InvalidArgumentError (see above for traceback): Input to reshape is a tensor with 92416 values, but the requested shape requires a multiple of 2304
[[Node: Reshape_1 = Reshape[T=DT_FLOAT, Tshape=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"](MaxPool_1, Reshape_1/shape)]]
EDIT-1
根据这些编辑进行修改后出现此新错误:
x_reshaped = tf.reshape(x, shape=[-1,150,150,1])
batch_size = x_reshaped.get_shape().as_list()[0]
... Same code as above ...
maxpool_reshaped = tf.reshape(maxpool_out2, [batch_size, -1])
sai lầm:
Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
File "cnn.py", line 52, in
model_op = model()
File "cnn.py", line 45, in model
maxpool_reshaped = tf.reshape(maxpool_out2, [batch_size, -1])
File "C:\Python35\lib\site-packages\tensorflow\python\ops\gen_array_ops.py", line 2448, in reshape
name=name)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 493, in apply_op
raise err
File "C:\Python35\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 490, in apply_op
preferred_dtype=default_dtype)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 669, in convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\constant_op.py", line 176, in _constant_tensor_conversion_function
return constant(v, dtype=dtype, name=name)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\constant_op.py", line 165, in constant
tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape, verify_shape=verify_shape))
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_util.py", line 441, in make_tensor_proto
tensor_proto.string_val.extend([compat.as_bytes(x) for x in proto_values])
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_util.py", line 441, in
tensor_proto.string_val.extend([compat.as_bytes(x) for x in proto_values])
File "C:\Python35\lib\site-packages\tensorflow\python\util\compat.py", line 65, in as_bytes
(bytes_or_text,))
TypeError: Expected binary or unicode string, got None
EDIT-2
进行以下编辑后(除了删除 batch_size
之外):
w3 = tf.Variable(tf.random_normal([361, 256]))
...
...
w_out = tf.Variable(tf.random_normal([256, 2]))
我有以下错误:
EPOCH 0
W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:975] Invalid argument: logits and labels must be same size: logits_size=[256,2] labels_size=[1,2]
[[Node: SoftmaxCrossEntropyWithLogits = SoftmaxCrossEntropyWithLogits[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](Reshape_2, Reshape_3)]]
Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1021, in _do_call
return fn(*args)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1003, in _run_fn
status, run_metadata)
File "C:\Python35\lib\contextlib.py", line 66, in __exit__
next(self.gen)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 469, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: logits and labels must be same size: logits_size=[256,2] labels_size=[1,2]
[[Node: SoftmaxCrossEntropyWithLogits = SoftmaxCrossEntropyWithLogits[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](Reshape_2, Reshape_3)]]
During handling of the above exception, another exception occurred:
Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
File "cnn.py", line 73, in
_, accuracy_val = sess.run([train_op, accuracy], feed_dict={x: batch_data, y: batch_onehot_vals})
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 766, in run
run_metadata_ptr)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 964, in _run
feed_dict_string, options, run_metadata)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1014, in _do_run
target_list, options, run_metadata)
File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1034, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: logits and labels must be same size: logits_size=[256,2] labels_size=[1,2]
[[Node: SoftmaxCrossEntropyWithLogits = SoftmaxCrossEntropyWithLogits[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](Reshape_2, Reshape_3)]]
Caused by op 'SoftmaxCrossEntropyWithLogits', defined at:
File "cnn.py", line 55, in
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(model_op, y))
File "C:\Python35\lib\site-packages\tensorflow\python\ops\nn_ops.py", line 1449, in softmax_cross_entropy_with_logits
precise_logits, labels, name=name)
File "C:\Python35\lib\site-packages\tensorflow\python\ops\gen_nn_ops.py", line 2265, in _softmax_cross_entropy_with_logits
features=features, labels=labels, name=name)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 759, in apply_op
op_def=op_def)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 2240, in create_op
original_op=self._default_original_op, op_def=op_def)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 1128, in __init__
self._traceback = _extract_stack()
InvalidArgumentError (see above for traceback): logits and labels must be same size: logits_size=[256,2] labels_size=[1,2]
[[Node: SoftmaxCrossEntropyWithLogits = SoftmaxCrossEntropyWithLogits[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](Reshape_2, Reshape_3)]]
EDIT-3
这是二进制(pickled)文件的样子 [label, filename, data]:
[array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]), array(['1.jpg', '10.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg',
'7.jpg', '8.jpg', '9.jpg'],
dtype='
[151, 151, 149, ..., 162, 159, 157],
[120, 121, 122, ..., 132, 128, 122],
...,
[179, 175, 177, ..., 207, 205, 203],
[126, 129, 130, ..., 134, 130, 134],
[165, 170, 175, ..., 193, 193, 187]])]
Làm thế nào tôi có thể giải quyết vấn đề này?
câu trả lời hay nhất
让我们回到原来的错误:
Input to reshape is a tensor with 92416 values, but the requested shape requires a multiple of 2304
这是因为您从原始输入图像大小为 24*24 的代码改编代码。经过两个卷积层和两个最大池化层后的张量形状为 [-1, 6, 6, 64]。但是,由于您的输入图像形状为 150*150,因此中间形状变为 [-1, 38, 38, 64]。
尝试改变w3
w3 = tf.Variable(tf.random_normal([38*38*64, 1024]))
您应该始终关注您的张量形状流。
关于Python/Tensorflow - reshape 的输入是一个具有 92416 个值的张量,但请求的形状需要 2304 的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010339/
Đây là đoạn mã. Vui lòng cho tôi biết thuật toán lưu trữ dữ liệu lớn trong bộ nhớ nhỏ này là gì. public static void main(String[] args) { long longValue = 21474836
Vì vậy tôi sử dụng imap để nhận email từ gmail và outlook. Gmail được mã hóa như thế này =?UTF-8?B?UmU6IM69zq3OvyDOtc68zrHOuc67IG5ldyBlbWFpb
Tôi đã học mã C từ lâu và muốn thử điều gì đó mới mẻ và khác biệt với Đề án. Tôi đang cố gắng tạo một thủ tục lấy hai đối số và trả về giá trị lớn hơn trong hai đối số đó, như (define (larger xy) (if (> x
Có hai tùy chọn cấu hình sao lưu cho kho Azure Recovery Services - LRS so với GRS Đây là câu hỏi về kho Azure Recovery Services. Làm cách nào để bạn xử lý kho lưu trữ Dịch vụ khôi phục có bật tính năng dự phòng địa lý khi khu vực chứa nó bị lỗi? Nếu dịch vụ khôi phục không được kích hoạt
Giả sử tôi có thực thể sau: @Entity public class A { @Id @GeneratedValue Private Long id; @Embedded Private;
Tôi có câu hỏi tiếp theo. Tôi có tiêu chí tiếp theo: Criteria.add(Restrictions.in("entity.otherEntity", getOtherEntitiesList()));
Nếu đây là bản sao của bất kỳ loại nào thì tôi sẽ đăng ký trước, nhưng tôi không thể tìm thấy bất kỳ điều gì giải quyết được vấn đề cụ thể của mình. Đây là chương trình của tôi: import java.util.Random; public class CarnivalGame{
Tôi hiện đang sử dụng golang để tạo một đường dẫn tổng hợp nơi tôi truy vấn các tài liệu bằng toán tử "$ hoặc". Kết quả là một loạt tài liệu chưa được nhóm cần được nhóm lại để tôi có thể chuyển sang giai đoạn tiếp theo là tìm điểm giao nhau giữa hai tập dữ liệu. Sau đó sử dụng nó để làm điều đó trong một bộ sưu tập riêng
Có thể tạo điều kiện OR trong biểu thức chính quy. Tôi đang cố gắng tìm kết quả khớp cho danh sách tên tệp chứa mẫu như vậy, trường hợp đầu tiên xxxxx-hello.file hoặc trường hợp hai xxxx-hello-unasigned.file
Chương trình này chỉ đơn giản tạo ra hình dạng của một viên kim cương khi người dùng nhập số hàng, do đó, nó có 6 vòng for; 3 vòng để tạo hình tam giác đầu tiên, 3 vòng để tạo hình tam giác còn lại và với 2 hình tam giác và 6 vòng này, chúng tôi có một hình thoi và đây là toàn bộ chương trình
Tôi có một chuỗi truy vấn như thế này www.google.com?Department=Education & Finance&Department=Health Tôi có các thẻ li này và chuỗi truy vấn của chúng giống như thế này
Tôi có một lớp với hàm tạo tĩnh mà tôi sử dụng để đọc các giá trị app.config. Cách kiểm tra đơn vị một lớp có các giá trị cấu hình khác nhau. Tôi đang nghĩ đến việc chạy từng thử nghiệm trong một miền ứng dụng khác để tôi có thể thực hiện một hàm tạo tĩnh cho mỗi thử nghiệm - nhưng tôi
Tôi đang tìm một vùng chứa có thể chứa nhiều khóa, nếu tôi nhập giá trị dành riêng (ví dụ: 0) cho một trong các giá trị khóa, nó sẽ được coi là tìm kiếm OR. bản đồ, int > myContainer; myContainer.insert(make_
Tôi đang tạo cơ sở dữ liệu cho một ứng dụng web và đang tìm kiếm một số lời khuyên về cách lập mô hình một thực thể duy nhất có thể có nhiều loại, mỗi loại có các thuộc tính khác nhau. Ví dụ: giả sử tôi muốn tạo một mô hình quan hệ cho đối tượng "nguồn dữ liệu". Tất cả các nguồn dữ liệu sẽ có một số thuộc tính chung
(1) =>TẠO BẢNG T1(id BIGSERIAL PRIMARY KEY, tên TEXT); TẠO BẢNG (2) =>CHÈN VÀO T1 (tên)
Tôi không chắc chắn cách giải quyết các tham chiếu cột không rõ ràng khi sử dụng bí danh. Giả sử có hai bảng a và b, cả hai đều có cột tên. Nếu tôi nối hai bảng này và thêm bí danh vào kết quả, tôi không biết cách tham chiếu cột tên cho cả hai bảng. Tôi đã thử một số biến thể,
Truy vấn của tôi là: select * from table trong đó id IN (1,5,4,3,2) Điều tôi muốn chính xác là cùng một thứ tự, không phải từ 1...5 mà từ 1,5,4, 3,2. Làm thế nào tôi có thể làm điều này? hầu hết
Tôi đang sử dụng mã C# để thực thi truy vấn MySQL được tạo động. Ném ngoại lệ: TẠO TABLE kết xuất ("@employee_OID" VARCHAR(50)); "{"Bạn có một er
Tôi có ngày 2016-03-30T23:59:59.000000+0000. Tôi có thể biết định dạng của nó là gì không? Bởi vì nếu tôi sử dụng yyyy-MM-dd'T'HH:mm:ss.SSS thì nó sẽ ném ra ngoại lệ Sim trả lời hay nhất
Tôi có một lược đồ mẫu và Fiddle SQL của nó như sau: http://sqlfiddle.com/#!2/6816b/2 Fiddle này chỉ đơn giản truy vấn cơ sở dữ liệu mẫu dựa trên các điều kiện trong mệnh đề Where như sau:
Tôi là một lập trình viên xuất sắc, rất giỏi!