Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Tensorflow classify_image

Tensorflow classify_image
EN

Stack Overflow用户
提问于 2017-02-20 01:01:38
回答 1查看 668关注 0票数 0

这个闪亮的应用程序是由:这里构建的,它基本上使用R中的tensorflow python。我的主要问题是如何在R中运行py代码。

编辑:我通过做一些更改来使它运行。一切都在运转。然而,没有字云,也不能使输出打印在闪亮。上传图像后,输出将位于Rstudio的控制台中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(wordcloud)
shinyServer(function(input, output) {
    PYTHONPATH <- "C:/Program Files/Anaconda3"  #should look like /Users/yourname/anaconda/bin if you use anaconda python distribution in OS X
    CLASSIFYIMAGEPATH <- "C:/Program Files/Anaconda3/Lib/site-packages/tensorflow/models/image/imagenet" #should look like ~/anaconda/lib/python2.7/site-packages/tensorflow/models/image/imagenet

    outputtext <- reactive({
      ###This is to compose image recognition template###
      inFile <- input$file1 #This creates input button that enables image upload
      template <- paste0("python"," ", "classify_image.py") #Template to run image recognition using Python
      if (is.null(inFile))
        {system(paste0(template," --image_file /tmp/imagenet/cropped_panda.jpg"))} else { #Initially the app classifies cropped_panda.jpg, if you download the model data to a different directory, you should change /tmp/imagenet to the location you use. 
      system(paste0(template," --image_file ",inFile$datapath)) #Uploaded image will be used for classification
        }



      })

    output$answer <- renderPrint({outputtext()})

    output$plot <- renderPlot({
      ###This is to create wordcloud based on image recognition results###
      df <- data.frame(gsub(" *\\(.*?\\) *", "", outputtext()),gsub("[^0-9.]", "", outputtext())) #Make a dataframe using detected objects and scores
      names(df) <- c("Object","Score") #Set column names
      df$Object <- as.character(df$Object) #Convert df$Object to character
      df$Score <- as.numeric(as.character(df$Score)) #Convert df$Score to numeric
      s <- strsplit(as.character(df$Object), ',') #Split rows by comma to separate rows
      df <- data.frame(Object=unlist(s), Score=rep(df$Score, sapply(s, FUN=length))) #Allocate scores to split words
      # By separating long categories into shorter terms, we can avoid "could not be fit on page. It will not be plotted" warning as much as possible
      wordcloud(df$Object, df$Score, scale=c(4,2),
                    colors=brewer.pal(6, "RdBu"),random.order=F) #Make wordcloud
    })

    output$outputImage <- renderImage({
      ###This is to plot uploaded image###
      if (is.null(input$file1)){
        outfile <- "/tmp/imagenet/cropped_panda.jpg"
        contentType <- "image/jpg"
        #Panda image is the default
      }else{
        outfile <- input$file1$datapath
        contentType <- input$file1$type
        #Uploaded file otherwise
        }

      list(src = outfile,
           contentType=contentType,
           width=300)
    }, deleteFile = TRUE)
})

Rstudio控制台上的输出示例:

巴格犬(得分= 0.89841)、公獒(得分= 0.01825)、巴西犬(得分= 0.01114)、法国斗牛犬(得分= 0.00161)、北京犬(得分= 0.00091) W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_def_util.cc:332] BatchNormWithGlobalNormalization被否决。它将在GraphDef版本9中停止工作。请使用tf.nn.batch_normalization()。

有人知道这是怎么回事吗?我尝试过各种方法,但无法打印输出(使用renderPrint,呈现文本.等)

EN

回答 1

Stack Overflow用户

发布于 2017-02-20 01:56:25

好的,这里有两种方法-

1

从CRAN安装RPython for windows Linux/Mac。下载为zip Clone/下载为zip选项- https://github.com/cjgb/rPython-win

将其解压缩,将文件夹重命名为rPython,将configure.win更改为指向您的python安装--我猜它必须是Anaconda。

c.在R中执行代码-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(devtools) # devtools needs to be installed - install.packages("devtools")
install("C:/Users/username/Downloads/rPython") # location where you have downloaded rPython

我的输出-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Installing rPython
"C:/PROGRA~1/R/R-33~1.2/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD  \
  INSTALL "C:/Users/vk046010/Downloads/rPython"  \
  --library="C:/Users/vk046010/Documents/R/win-library/3.3" --install-tests 

* installing *source* package 'rPython' ...
** libs
Warning: this package has a non-empty 'configure.win' file,
so building only the main architecture

c:/Rtools/mingw_64/bin/gcc  -I"C:/PROGRA~1/R/R-33~1.2/include" -DNDEBUG     -I"d:/Compiler/gcc-4.9.3/local330/include"  -I"C:/Anaconda2/include"   -O2 -Wall  -std=gnu99 -mtune=core2 -c pycall.c -o pycall.o
c:/Rtools/mingw_64/bin/gcc -shared -s -static-libgcc -o rPython.dll tmp.def pycall.o -LC:/Anaconda2/libs -lpython27 -Ld:/Compiler/gcc-4.9.3/local330/lib/x64 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/PROGRA~1/R/R-33~1.2/bin/x64 -lR
installing to C:/Users/vk046010/Documents/R/win-library/3.3/rPython/libs/x64
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (rPython)

现在从RStudio执行这个-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# tensorflow caller
library("rPython")


py_code <- "
def classify_image(image_loc): 
  # load tensorflow and predict here
  return image_loc+'person' # return the result here
"
python.exec(py_code)

python.call( "classify_image", 'path/loc/to/image/')

python.call的输出应该是您正在寻找的东西。

2

我以前没这么做过,所以没有人身保证。您可以在R- https://github.com/rstudio/tensorflow中安装tensorflow

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42340224

复制
相关文章
MySQL时区问题_docker设置时区
使用mysql-connector-java-8.0.9-rc出现以下异常:
全栈程序员站长
2022/11/17
3.5K0
MySQL时区问题_docker设置时区
mysql时区设置_oracle数据库时区设置
> select curtime(); #或 select now()也可以
全栈程序员站长
2022/11/04
6.2K0
jenkins 时区设置
背景 直接搭建好jenkins没有留意时间这块,执行job的时候发现,执行时间和服务器时间不对,需要设置时区 步骤 找到jenkins的启动配置,centos在: /etc/sysconfig/jenkins 修改如下: JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai" 然后重启jenkins即可 Tips 可参考这个地方:https://wik
千往
2018/01/24
3.4K0
springboot设置时区不起作用_docker设置时区
此时数据库时区、容器时区、springboot时区都是CST,输出的时间还是可能差8小时,这因为Date进行json的时候还存一个时区,而springboot默认json工具是jackson,采用的是UTC时区。需要一下配置。注意:如果项目WebMvcConfig采用的是继承WebMvcConfigurationSupport,而不是实现WebMvcConfigurer接口的话,下面的配置会不生效。
全栈程序员站长
2022/11/09
2.7K0
springboot设置时区不起作用_docker设置时区
Linux下设置时区方法,实现开机自动设置时区
平台: RK3399 系统: ubuntu 18.04 64位 --ARM版本 使用tzselect 命令设置时区。 步骤示例: pi@NanoPC-T4:~$ tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas 3) Antarctica
DS小龙哥
2022/01/12
5.9K0
Linux下设置时区方法,实现开机自动设置时区
Gmail 设置,时区
  我们工作的时候,需要和不同时区的人进行合作。我们需要注意时区问题。如果没有设置好时区,会造成很多不便。
西湖醋鱼
2020/12/30
2K0
Gmail 设置,时区
Postgresql设置时区
查看时区 show time zone 查看时间 select now(); 查看支持的时区列表 select * from pg_timezone_names; 设置成东八区 北京时间 UTC+8 set time zone 'PRC'
geekfly
2022/04/24
1.9K0
MySQL:设置时区
在开发过程中,设置 IDEA 连接数据mysql数据库连接时遇到异常“Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.” 。意思是时区设置的不对。 于是寻找解决方法。
张云飞Vir
2021/06/11
11.1K0
MySQL:设置时区
PHP 时区设置
有时候使用date("Y-m-d h:i:s")时发现时间相差8小时,修改“/etc/php5/apache2/php.ini”:
爱知汇
2020/10/10
2.5K0
Springboot 设置时区问题
本文由 Alone88 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
Alone88
2020/06/11
6.3K3
MySQL数据库时区错误,设置时区
解决方法1: 打开cmd,输入 mysql -uroot -p123456 进入mysql命令模式 然后输入 set global time_zone=‘+8:00’;
啦啦啦啦
2023/02/11
5.7K0
MySQL数据库时区错误,设置时区
Ubuntu设置时区时间
       我们可以通过date来查看当前的时间时区等信息,如果不是CST时区那么可能就和当前的时间不符,我们可以通过下面的命令来设置时区:
Ch_Zaqdt
2020/03/23
2.2K0
jvm linux 时区设置
在接入集团一个平台的时候,发现录制某个接口到测试环境回放,发现接口入参一致,一个start_day 一个end_day,但回放的时候会多调用一次数据库查询,很是奇怪;
千往
2018/08/02
8.3K0
centos在设置时区
[root@localhost ~]# date -R // 查看时区
全栈程序员站长
2022/07/06
1.3K0
Django 时间与时区设置
在Django的配置文件settings.py中,有两个配置参数是跟时间与时区有关的, 分别是TIME_ZONE和USE_TZ
用户5760343
2022/05/14
1.2K0
Linux 时间及时区设置
UTC(Universal Time Coordinated)=GMT(Greenwich Mean Time),Local time 本地时间,
授客
2019/09/12
10.2K0
设置时区定位可以关闭吗_监控时区设置是什么意思
这个时区要设置好,不然会出现时差, 如果你设置serverTimezone=UTC,连接不报错, 但是我们在用java代码插入到数据库时间的时候却出现了问题。 比如在java代码里面插入的时间为:2021-06-24 17:29:56 但是在数据库里面显示的时间却为:2021-06-24 09:29:56 有了8个小时的时差 UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。
全栈程序员站长
2022/11/09
1.1K0
Django的时区设置问题
  django默认的时区是UTC,平时是没有什么影响的,但是在需要将时间戳转换成本时区的时间或者是获取当前的本地的localtime的时候就出现了问题。之前程序在测试时是运行在Windows环境,所以即使settings.py中的TIME_ZONE使用默认时区,Django也会根据本机的时区使用当前时区时间。然而程序放到linux运行程序时,Django的时区会使用settings.py中的TIME_ZONE设置的时区,所以这时就出现了问题。再有当我用脚本在linux上测试或者直接进入python环境的时候,运行time.localtime(),显示本机所在时区的当前时间。
py3study
2020/01/20
2.9K0
mysql jdbc url设置时区
设置时区时,添加serverTimezone参数,比如serverTimezone=GMT%2B8(URL 中 %2B表示+号,GMT%2B8即为GMT+8)。
全栈程序员站长
2022/09/09
6.4K0
点击加载更多

相似问题

码头港口80:80 127.0.0.1

42

港口:80和:443

22

80港口码头码头分店

12

Django项目在80港口?

32

Rails项目位于8080港口,nginx位于80港口

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文