我试图使用基本的Clarifai.FACE_DETECT_MODEL构建一个简单的React应用,但是现在我想将其更改为更高级的“ Demographic”,也许有人知道该怎么做? 我知道我必须更改澄清模型,但idk确切地要怎么做
onButtonClick = () =>{
this.setState({imageUrl: this.state.input});
app.modelsw
.predict(
Clarifai.FACE_DETECT_MODEL,
this.state.input)
.then(response =>this.displayFaceBox(this.calculateFaceLocation(response)))
.catch(err => console.log("OOOOOOPS fix me!!!!"));}````
答案 0 :(得分:0)
我认为您可以取代
Clarifai.FACE_DETECT_MODEL
与"c0c0ac362b03416da06ab3fa36fb58e3"
一起使用人口统计模型。
我不确定Clarifai.DEMOGRAPHICS
之类的东西是否可以工作(如果需要,可以尝试),但是我相信这只是一个保存代表模型的字符串的变量。您可以在Web浏览器的调试控制台中放置一个断点,并检查Clarifai对象,并以某种方式查找与人口统计特征匹配的字段,这很可能是哈希的变量。
答案 1 :(得分:0)
现在应该是:
onButtonClick = () =>{
this.setState({imageUrl: this.state.input});
app.modelsw
.predict('c0c0ac362b03416da06ab3fa36fb58e3', this.state.input)
.then(response =>this.displayFaceBox(this.calculateFaceLocation(response)))
.catch(err => console.log('Oops fix me!'))
}
答案 2 :(得分:0)
人口统计现在仅支持来自后端的请求。这是 nodejs 请求。
const {ClarifaiStub} = require("clarifai-nodejs-grpc");
const grpc = require("@grpc/grpc-js");
const metadata = new grpc.Metadata();
metadata.set("authorization", "{My key}");
const stub = ClarifaiStub.json()
stub.PostWorkflowResults(
{
workflow_id: "Demographics",
inputs: [
{data: {image: {url: "https://static.independent.co.uk/s3fs-public/thumbnails/image/2015/06/06/15/Chris-Pratt.jpg"}}}
]
},
metadata,
(err, response) => {
if(response){
console.log(response.results[0].outputs[2].data.regions[0].data.concepts)
} else {
console.log(err)
}
}
)