我怀疑用于fread/fwrite的参数大小和计数的顺序.如果我想从文件fp中读取8kb的数据,以下哪项更有效?
fread(data,1,8192,fp)
fread(data,8192,1,fp)
Run Code Online (Sandbox Code Playgroud)
还有我应该担心的endiannes问题吗?
我使用c ++ tensorflow api对batchsize大于1进行推断时遇到问题。网络输入平面为8x8x13,输出为单个浮点。当我尝试如下推断多个样本时,结果仅对第一个样本正确。我使用keras2tensorflow工具将图形转换为.pb格式。
node {
name: "main_input"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: -1
}
dim {
size: 8
}
dim {
size: 8
}
dim {
size: 12
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:输出节点是一个标量。罪魁祸首可能是我用来将keras hdf5文件转换为pb的keras2tensorflow代码吗?也许输出应该是-1x1以接受任意数量的样本,就像输入平面一样)。我从以下链接获得了转换器代码:keras_to_tensorflow
node {
name: "value_0"
op: "Identity"
input: "strided_slice"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
}
Run Code Online (Sandbox Code Playgroud)
输入平面尺寸正确设置为-1 x 8 x 8 …