我是TensorFlow菜鸟.我已经从开源实现深度训练了TensorFlow模型,现在必须针对一组新图像运行模型.
该模型在大小的图像上进行了训练,100 * 100
因此我将新的图像大小调整为相同的大小.我有149
新的图像来运行模型.当我运行模型时,我收到以下错误.
InvalidArgumentError (see above for traceback): Assign requires shapes
of both tensors to match. lhs shape= [20] rhs shape= [48]
Run Code Online (Sandbox Code Playgroud)
在线
saver = tf.train.Saver(tf.all_variables())
Run Code Online (Sandbox Code Playgroud)
我怀疑训练有素的模型尺寸和测试图像尺寸不匹配.我不清楚如何解决这个问题.我从tf.all_variables()
调用中打印出变量列表.这里是
Tensor("Placeholder:0", shape=(128, 100, 100, 3), dtype=float32)
(11, 11, 3, 20)
conv1/weights:0
(20,)
conv1/biases:0
(5, 5, 20, 35)
conv2/weights:0
(35,)
conv2/biases:0
(3, 3, 35, 50)
conv4/weights:0
(50,)
conv4/biases:0
(3, 3, 50, 75)
conv5/weights:0
(75,)
conv5/biases:0
(300, 1024)
local1/weights:0
(1024,)
local1/biases:0
(1024, 1024)
local2/weights:0
(1024,)
local2/biases:0
(1024, 0) …
Run Code Online (Sandbox Code Playgroud) 这非常奇怪,我在论坛中搜索过.
在我的主类我有一个按钮onClick将启动联系人应用程序,如下所示.当我单击按钮时,会显示联系人列表,但只要点击联系人,就会抛出安全异常.
public void selectContacts(View v) {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case PICK_CONTACT:
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
while (c.moveToNext()) {
String id = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
String phoneNumber = getPhoneNumber(id);
listOfContacts.add(phoneNumber);
}
} else {
System.out.println("User didn't pick a contact");
finish();
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)
我检查了清单,并尝试了在应用程序,活动等中放置uses-permission标签的所有组合.但没有任何作用.这是我的清单.
<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud) 主要要求:
这更像是一个概念性的问题 - 所以请光临我.
问题:我收到了一个传入的HTTP请求到我的服务器应用程序.请求是这样的:http://xyz.com?id = abc.我需要解析此请求,修补其他URL参数并调用托管的html文件.所以:
http://xyz.com?id=abc => http://xyz.com:8080/temp.html?id=abc&name=cdf.
所以客户端应该看到temp.html
这是代码:
function onRequest(request,response) {
if(request.method =='GET') {
sys.debug("in get");
var pathName = url.parse(request.url).pathname;
sys.debug("Get PathName" + pathName + ":" + request.url);
var myidArr = request.url.split("=");
var myid = myidArr[1];
//Call the redirect function
redirectUrl(myid);
}
http.createServer(onRequest).listen(8888);
function redirectUrl(myid) {
var temp='';
var options = {
host: 'localhost',
port: 8080,
path: '/temp.html?id=' + myid + '&name=cdf',
method: 'GET'
};
var req = http.request(options, function(res) {
console.log('STATUS: …
Run Code Online (Sandbox Code Playgroud) 这更像是一个概念/数据库架构相关的问题.为了保持数据的一致性,而不是NoSQL数据存储,我只是将JSON对象存储为MySQL中的字符串/文本.所以MySQL行看起来像这样
ID, TIME_STAMP, DATA
Run Code Online (Sandbox Code Playgroud)
我将JSON数据存储在DATA字段中.我不会更新任何行,而是添加带有当前时间戳的新行.所以,当我想要最新的数据时,我只需要获取具有max(时间戳)的行.我正在使用Tornado和Python MySQLDB驱动程序作为我的主要后端应用程序.
我觉得这种方法很直接,不容易出错.JSON对象非常简单,并且没有大量嵌套.
这种方法根本不对吗?将JSON数据存储为MySQL中的文本是否有任何问题,或者我应该使用基于文件系统的存储(如HDFS).请告诉我.