Getting the images produced by AzureML experiments back - data-visualization

I have created a toy example in Azure.
I have the following dataset:
amounts city code user_id
1 2.95 Colleferro 100 999
2 2.95 Subiaco 100 111
3 14.95 Avellino 101 333
4 14.95 Colleferro 101 999
5 14.95 Benevento 101 444
6 -14.95 Subiaco 110 111
7 -14.95 Sgurgola 110 555
8 -14.95 Roma 110 666
9 -14.95 Colleferro 110 999
I create an AzureML experiment that simply plots the column of the amounts.
The code into the R script module is the following:
data.set <- maml.mapInputPort(1) # class: data.frame
#-------------------
plot(data.set$amounts);
title("This title is a very long title. That is not a problem for R, but it becomes a problem when Azure manages it in the visualization.")
#-------------------
maml.mapOutputPort("data.set");
Now, if you click on the right output port of the R script and then on "Visualize"
you will see the Azure page where the outputs are shown.
Now, the following happens:
The plot is stucked into an estabilished space (example: the title is cut!!!)
The image produced is a low resolution one.
The JSON produced by Azure is "dirty" (making the decoding in C# difficult).
It seems that this is not the best way to get the images produced by the AzureML experiment.
Possible solution: I would like
to send the picture produced in my experiment to a space like the blob
storage.
This would be also a great solution when I have a web-app and I have to pick the image produced by Azure and put it on my Web App page.
Do you know if there is a way to send the image somewhere?

To saving the images into Azure Blob Storage with R, you need to do two steps, which include getting the images from the R device output of Execute R Script and uploading the images to Blob Storage.
There are two ways to implement the steps above.
You can publish the experiment as a webservice, then get the images with base64 encoding from the response of the webservice request and use Azure Blob Storage REST API with R to upload the images. Please refer to the article How to retrieve R data visualization from Azure Machine Learning.
You can directly add a module in C# to get & upload the images from the output of Execute R Script. Please refer to the article Accessing a Visual Generated from R Code in AzureML.

You can resize the image in following way:
graphics.off()
png("myplot.png",width=300,height=300) ## Create new plot with desired size
plot(data.set);
file.remove(Sys.glob("*rViz*png")) ## Get rid of default rViz file

Related

How can I use one media pipe graph to process multiple camera(rtsp stream)?

for example, 16 cameras, only one GPU on a server, maybe at most init 4 graph to decode,inference, than encode. So every 1 graph need to process 4 video streams. but I didn't find any config like camera_id or source_id yet in mediapipe.

How to build Yocto hddimg on i.MX7 to boot from usb stick

I have an i.mx7 som. I want to build a Yocto image which I can dd onto a usb stick to boot from. I believe that I want an hddimg image but cannot see how to create one (I have sdimg which works prefectly).
I would appreciate advice.
I have set IMAGE_FSTYPES to "hddimg" but get "ERROR: Nothing PROVIDES 'syslinux'"
The SOM is the Technexion i.MX7. Layers are:
layer path priority
=======================================================
meta sources/poky/meta 5
meta-poky sources/poky/meta-poky 5
meta-oe sources/meta-openembedded/meta-oe 6
meta-multimedia sources/meta-openembedded/meta-multimedia 6
meta-freescale sources/meta-freescale 5
meta-freescale-3rdparty sources/meta-freescale-3rdparty 4
meta-freescale-distro sources/meta-freescale-distro 4
meta-powervault sources/meta-powervault 6
meta-python sources/meta-openembedded/meta-python 7
meta-networking sources/meta-openembedded/meta-networking 5
meta-virtualization sources/meta-virtualization 8
meta-filesystems sources/meta-openembedded/meta-filesystems 6
meta-cpan sources/meta-cpan 10
meta-mender-core sources/meta-mender/meta-mender-core 6
meta-mender-freescale sources/meta-mender/meta-mender-freescale 10
Nope, you certainly do not want an hddimg, as this is a mostly deprecated format for x86 systems. On ARM, you almost never want syslinux :-)
Usually your SOM comes with a Board Support Package in the form of a layer, which includes the MACHINE definition which in turn defines the IMAGE_FSTYPE that this machine likes for booting. If in doubt, consult the manual or ask your vendor.
Having said that, if you specify SOM and layers in use we can have a look if publicly accessible, but without those details it is impossible to give a proper answer.

CGAL 4.7 Arrangement of Bezier curves crashes on some inputs

I am using the Arrangements package of CGAL 4.7 (64-bit, on Windows) to make 2-d arrangements of Bezier curves for a research project. Unfortunately, I keep experiencing crashes on some -usually (near) degenerate- input, when inserting Bezier curves.
As a simple example I have added the content of two data files that can be read by the Bezier_curve example project provided with CGAL 4.7 (found in .../CGAL-4.7/examples/Arrangement_on_surface_2).
The example crashes for me if I feed it either of the two files.
The example works correctly for me if I use the Bezier.dat file that comes with it, and on some other test cases that I tried.
Bezier_crash1.dat - (very simple test case)
1
4 0 100 100 0 100 200 0 100
Bezier_crash2.dat - (encountered and recorded in my own experiments)
6
4 2581853/262144 174874249452033/4398046511104 5673646619833933/35184372088832 2756888783932123/70368744177664 6296137/131072 15962699/131072 105/2 5687589/65536
4 105/2 5687589/65536 7466423/131072 6787657/131072 4884829/32768 1213073/16384 120 13200823/131072
4 120 13200823/131072 13772385/131072 14995659/131072 8262217/131072 13388069/131072 105/2 5687589/65536
4 105/2 5687589/65536 5500343/131072 9362287/131072 5544234768323137/35184372088832 5711427009345511/140737488355328 2581853/262144 183625004300137/2199023255552
4 696761914568827/4398046511104 3007857/16384 1156274078886441/17592186044416 301767055302015/8796093022208 4173567/65536 1173535/8192 97589/1024 428833/4096
4 97589/1024 428833/4096 8317825/65536 541797/8192 10142101/131072 1505657/16384 9752923/131072 1168223/16384
I don't know if I should (and am allowed to) post the code of the CGAL example, please let me know if it's needed. I also have more crashing test cases than just these two, but I am hoping that these crashes are a problem with my personal CGAL setup, and that the rest will magically be solved when I fix it :)
We have fixed the bug that most probably causes this problem. It was in the CGAL component that handles Bezier curves, namely, Arr_Bezier_curve_traits_2.h.

How do I selectively share data with clients, so that they only see their own data, and not of their competitors?

I have data like this in my Excel 2013 workbook
Table 1:
Col A Col B Col B
1 Client 1 ..... 123
2 Client 1 ..... 456
3 Client 1 ..... 99
4 Client 2 ..... 324
5 Client 2 ..... 989
6 Client 3 ..... 234
7 Client 3 ..... 23
I am using this Table 1 for a client specific report elsewhere in the excel. e.g.
Client Report: Client 1
Col A Col B Col C Col D
1 Client 1 123 456 99
The cell A1 in the report is a data validation dropdown containing the names of the Clients. I can change that dropdown to Client 2
Client Report: Client 2
Col A Col B Col C Col D
1 Client 2 324 989
What I want to be able to do is send out one file to all clients, which contains the Client Report, but each Client should only be able to see their own data. As a bonus, each client should also not be able to see which other clients are on the list (i.e. in the file that Client 1 receives, he/she should not have access to the numbers of Client 2 and Client 3, and as a bonus, should not even see the names Client 2 and Client 3)
I have an option of creating these files manually, for each client. I am looking for a way to hide data in a file depending on which Client it is for, and thus sending out the same file to multiple clients (I have ~30 clients, so the manual process will be error prone and a pain). I don't want to create 30 separate files or sheets if I can help it. The ideal way would be to build a 'master' option, which gives me access to all data, but not to the client who I send this out to. However, data confidentiality is super critical, and if password protection in Excel Workbooks is questionable, then I would not want this option, and I will go back to manual :)
Also, even though I am only looking for vanilla Excel solutions (I can't rely on my clients to have addons installed or install one just for the sake of this), if you do know of interesting ways to address this kind of a problem with addons, please do comment/answer.
Thanks!
As Steven Martain said, there is NO SECURITY in Excel. You can password-protect your Workbook, but the password can be broken in no time at all. Instead split your file into several separate files. Please see this link for an idea of how to do this.
http://www.rondebruin.nl/win/s3/win006.htm
Then, simply email the different files to different recipients/clients/people. See this link for an idea of how to do that.
http://www.rondebruin.nl/win/s1/outlook/amail6.htm
It is not possible to do it without coding/VB. However, you can use InstaRow ( check here). Which is perfect tool for this problem. You can signup with email id ( and your clients). They will see exactly their portion.
They can even change data easily.
Posting #StevenMartin 's answer from the comments above, as it seems to the way to go about it
"Write a macro to spit out 30 workbooks - a simple search would tell you excel password protection can be broken in seconds"

FTP response codes

I am troubleshooting Microsoft's FTP server (IIS 6.0) at a client site. In the FTP log, there's a few response codes that I'd like to know the meaning of.
For instance, in the line:
12:01:15 10.4.152.122 [194326]created x.jpg 550 1450
I'd like to know the meaning of 1450. There's other ones as well, like 550 2, and 550 32.
Anyone know of a site or reference that has the meaning of these sub-codes (not sure what the correct term is)?
The 450 / 550 values are both from RFC 959.
As 450 and 550 are both FTP errors, the second values might correspond to Windows error codes. The page here is consistent with that, with values 2, 32, and 1450 all relating to file I/O errors.
2 = ERROR_FILE_NOT_FOUND
The system cannot find the file specified.
32 = ERROR_SHARING_VIOLATION
The process cannot access the file because it is being used by another
process.
1450 = ERROR_NO_SYSTEM_RESOURCES
- Insufficient system resources exist to complete the requested
service.
According to this, 550 is:
Requested action not taken.
File unavailable (e.g., file not found, no access).