thegoodfellas/blogset-br huggingface dataset:
A verdade e que eu nao estou me sentindo pessima, na verdade, nao estou nem umpouco triste. E isso me faz sentir pessima!Porque quer dizer que, na verdade, nunca foi nada e ele estava certo.E essa solidao que sinto nao e por que eu sentia algo por ele, mas sim porque todos osseres humanos necessitam de uma companhia.Odeio admitir, porem quem estava mentindo era eu, dizendo a mim mesma que ele eraespecial.O problema e que o medo da solidao nao me deixou ver a verdade.Quantas vezes eu ja cometi o mesmo erro?Pra quantos eu menti? Quantos eu enganei?No fim das contas, amei? Nem que seja so um... Eu realmente amei de verdade algumdeles?Acho que nao.Na verdade, eu nao estou deprimida, estou um pouco, digamos, satisfeita ate, por nao termais nada me prendendo.Ai esta! Que tipo de pessoa sem coracao eu sou?Ainda sim, nao me sinto mal por isso. Eu gosto de ser assim.Mas e prometo que da proxima vez, sera pra valer. Nao vou mais enganar ninguem.Principalmente, nao irei mais enganar a mim mesma.Porque, voce sabe, nos SEMPRE sabemos o que sentimos, o problema e que as vezes oque se sente nao e o que se quer sentir. Dai, nos mentimos.Fingimos amar, fingimos nao amar e no final das contas voce sempre se sentira pessima,ou por sentir demais ou por sentir de menos. Voce percebe que estou diferente? Ou eu consigo disfarcarmuito bem? Porque todas as vezes que voce esta perto eu simplesmente preciso teabracar, mas eu nao devo nao e? Apesar de que eu sempre te abracava antes.Antes de dizer aquelas palavras malditas.Voce percebe que eu estou medindo as minhas palavras quando conversamos? Ou euconsigo falar normalmente? Porque todas as vezes que conversamos, eu temo dizeralgo que faca voce lembrar-se do que eu disse aquela vez. Apesar de que eu nuncaprecisei me segurar quando conversamos antes. Antes de eu estragar tudo.Voce percebe que todas as vezes que eu te vejo eu sinto umpunhal no meu coracao, mas ao mesmo tempo meu coracao bate com mais vida? Vocepercebe que eu nao consigo mais olhar nos seus olhos? Voce nao percebe quepreciso de voce perto, mas preciso de voce longe?Como voce faz? Como consegue agir tao natural? Vocerealmente nao sente nada? Ou voce sente pena de mim? Voce deve achar que souuma coitada de coracao partido nao e? Isso faz com que eu queria te bater. Echorar depois. Voce me evita? Voce mede suas palavras? Voce finge que naose lembra daquelas palavras horriveis que eu disse? Voce... O que voce faz?Qual o seu truque? Como voce consegue ser tao voce, perto de mim? Enquanto euestou sento rasgada por dentro.Bom, deve ser porque voce nao disse aquelas palavras nao e?Nao sei mais o que fazer, porque eu so queria que tudovoltasse a ser como era antes, mas nada vai acontecer se eu nao conseguirvoltar a ser como antes.Acreditava que doia antes, quando voce nao sabia. Mas agoradoi mais, pois eu amaldicoei voce. Amaldicoei voce ao te contar. Eu sinto queeu criei uma parede de vidro finissima. Tao fina que podemos fingir que ela naoexiste,
mas ela esta entre nos. E eu nao consigo quebrar.A culpa e toda minha. Eu sei. Eu quebrei a nossa amizadenaquele dia. Porem, estou tentando colar os pedacos de volta, mas voce sabe,quando voce cola algo que quebrou sempre ficam as marcas de onde se partiu.Eu quero quebrar e consertar. Eu nao sei mais o que emelhor. Entao por favor me responda: como eu faco pra desfazer isso?
it will register the bridge that allows you make calls to OpenNI or MS Kinect SDK without the need to install/uninstall the USB driver each time you want to switch from one to another package. Test your final installation. Go to OpenNI and run NiUserTracker and see that you can track your body using OpenNI framework. No go to Microsoft SDK installation directory, go to samples directory and run any sample like depth-d3d facetracking or any other. Voila, it works!Now you can work with both frameworks at same time.Enjoy!
Actually R has beenconsidered the most powerful programming language for statistical computing,machine learning and graphics. The popularity of R has increased substantiallyin recent years.I have been playing with R language in machine learningprojects since the beginning of 2013 and so, I have seen lots of interestingdiscussions in forums and articles about R, RStudio, Python, Hadoop, etc. Some weeks ago I was reading an article about RROacquisition (the Revolution R Open) by Microsoft. The comments about RRO performancetook my attention: one of the features that differentiate RRO from R is its Multithreaded Performancecapability. That is a very nice news because we know that in statisticalanalysis and machine language modeling, most of the time we have tasks that arecomputationally intensive that lead us to consider options, like optimizedlibraries, that can decrease the R processing time. Checking the RRO documentationI could see that RRO has libraries that make it possible for so many common Roperations, such as matrix multiply/inverse, matrix decomposition, and somehigher-level matrix operations, to compute in parallel and use all of theprocessing power available to reduce computation times. In the era ofmulti-core machines, definitely that is a good news. So, I decided to make a benchmark with RRO to see how itcould be useful in the projects I have worked with when compared with R. Youwill find more benchmarks in RRO website as well.For this job, I selected a project I worked last year. Basicallythe project is a data analysis that uses dataset from the National Oceanic andAtmospheric Administrations (NOAA). The project is simple but it takes about 5hours of execution time. I will not discuss the data analysis project here becausethis is beyond the scope of this post but if you are interested in the detailsabout the project analysis, you will find it here in the rpubs website.Hardware used:1. Processor: Intel Core i7-3615QMcpu 2.30GHz2. Memory: 8.0 GB3. Number of processors: 4 cores or 8 logical cpusEnvironment used:1. System OS: Windows 7 Pro 64-bit2. R: 3.2.03. RRO: 3.2.04. RStudio: 0.99.448 The project code was not changed to run in RRO once thedocumentation says that RRO is 100% compatible with R.To have a better idea about how long time the processing takes to execute the Rtasks, I divided the entire processing time in 12 phases, where there are differentR tasks like dataset download, unpack, read, order, summation, aggregate and soon. You can better visualize these phases in the final graphic.Lessons learned.Thetable below shows the performance, in minutes, for each API in each phase ofthe processing Phase R RRO RRO.MKL Desc 1 1.04 0.74 0.76 Download 47 Mb 2 6.09 6.08 6.20 Unpack and read file 3 0.00 0.00 0.00 Select data of interest 4 0.13 0.14 0.11 Sum columns and create new one 5 0.03 0.03 0.03 Aggregate 6 0.00 0.00 0.00 Filter out zero data 7 0.00 0.00 0.00 Order and select top 10 8 0.00 0.00 0.00 Get new subset 9 265.96 266.35 265.35 Loop and apply multiplier 10 0.01 0.01 0.01 Aggregate 11 0.00 0.00 0.00 Order and show top 10 12 0.02 0.00 0.00 Order and plot top 5 The
graphic below represents the processing table.Lookingto the graphic we can see that there is no significant difference between theuse of 3 APIs. Although the processing time takes about 5 hours, it looks like thisproject does not fill the requirements to make use the advantage of multi-threaded performance because it does not use the optimized functions described in RRO documentation. So, the advantage of RRO performance is a good news for datascientists and R developers but the R user must have in mind that not all Rcode will use the RRO performance (at least considering the version used inthis test). Enjoy.
as possible. One verysimple test is to set the linear velocity to a known value, let say 0.3 m/s,which means that the robot will travel 30 cm in one second. Mark the start andfinal point of the robot after 1 sec and measure the displacement. Depending onthe material where the wheels are running, you can get slip in the start andfinal. So try to use a good surface to minimize the slip behavior. Repeat theprocess until you are confident that you have good values. So, based on our kinematic model, we can write the following equations:The vr and vl are the linear velocities in the right andleft wheels of the robot. Note that if angular velocity w = 0, then vr = vlwhich means that the robot will run in a straight line. By the other side, if w= 0 but the robot is drifting to left or right, this means that one motor isrunning faster (or slower) than the other making the robot to drift to oneside. In this case, you need add an offset value in the angular velocity tocompensate the difference of velocity between the two motors. Things like thatmust be resolved and the calibration is used to fix these issues.You can find more details about the Kinect model here.The figure below shows what I used to calibrate the motors. For instance, ifyou set the linear velocity to 0.3 m/s, then the robot must reach the mark of 30cm in one second. For variations of this value, you will need increase ordecrease the gain of velocity to make sure the robot is having a behavior asmuch as possible, near the setup values in the controller software.Figure 2 - Motor CalibrationBasic testsOk, all the stuffs calibrated, then I need check if therobot is working as designed. To do so, I just set values to linear and angularvelocities and see if it is working properly. If you want do a more sophisticatedtest, you can use the motor.py code the you will find in the repository. Tofacilitate the things, I just used v = 1 and w = 0.3. This will make the robotrun continuously in circle, in counterclockwise direction. In the video link you can see thefinal result.Note that for now, I have only provided basic functionalities just to test ifthe driver and motors are working properly. In the next session, Part 3, I talk about tracking and so, Iwill describe how to implement the Dijkstras algorithm. According to Wikipedia,Dijkstras algorithm is an algorithm for finding the shortest path betweennodes in a graph, which may result, for example, in road network. Stay tuned...
promover o redirecionamento dos dados da rede externa (modem 3G em ppp0) para os pontos de acesso internos (modem wireless em wlan0) e vice-versa, para todos os dispositivos conectados. Isso pode ser feito configurando regras especificas para o NAT.Habilite forwarding para IP editando o arquivo /etc/sysctl.conf# nano /etc/sysctl.conf net.ipv4.ip_forward = 1Configure as regras necessarias para roteamento na iptables# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE# iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT# iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPSalve as regras criadas na iptables para um arquivo# sh c iptables-save > /etc/iptables.ap A cada boot e necessario restabelecer as regras da iptables. Isso pode ser feito adicionando ao arquivo interfaces um comando para restaurar iptables, o que ja foi feito alguns passos atras.# up iptables-restore < /etc/iptables.ap5. RebootFinalmente, reboot o Raspberry Pi.Apos o reboot, execute o comando ifconfig e verifique se as interfaces possuem os IPs corretos e se estao transmitindo os dados. Segue abaixo meu ifconfig: Veja que a interface ppp0 (modem 3G) esta recebendo e enviando dados. O mesmo acontece com a interface wlan0, o que supoe que os dados estao fluindo de/para a internet (rede externa) de/para os dispositivos conectados ao hotspot (rede interna).Para fazer uma verificacao, ligue um laptop, tablet ou smartphone e tente conectar ao hotspot.A figura abaixo eu conectei um smartphone ao hotspot criado, ou seja, HotPi. A figura mostra o resultado final conseguido com o Raspberry Pi conectado ao monitor de configuracao. O area de alcance do sinal do hotspot, proporcionado pelo modem wireless RT530, foi em torno de 30m o que e bastante razoavel para a utilizacao em uma residencia.Para uma utilizacao no dia a dia, voce nao precisa de mouse ou monitor conectados ao RPi. Entao basta voce criar um script que e executado no boot e fica rodando permanentemente. Esse script ficaria responsavel por monitorar o modem 3G e providenciar a reconexao caso ela caia.6. ReferenciasNesse projeto, pesquisei alguns blogs e documentos que encontrei na internet. Entre os diversos encontrados, cito alguns que usei como referencia.http://elinux.org/RPI-Wireless-Hotspothttps://www.thefanclub.co.za/how-to/how-setup-usb-3g-modem-raspberry-pi-using-usbmodeswitch-and-wvdialhttp://www.revsys.com/writings/quicktips/nat.html
Raspbian OS is an easy operation. You willneed make use of a micro SD card that you will burn with the Pi OS. You canfind the installation process guide here.I attached a HDMI monitor to my Pi, to do my initial Raspberry Pi setup. Afterthat, I have used SSH to connect to Raspberry Pi.You will find the installation guide of ROS Indigo onRaspberry Pi here.Basically the steps are:1. Setup ROS repositories2. Create catkin workspace3. Resolve dependencies4. Build the catkin workspaceAfter configure the environment, I added the VNC server toallow me to use GUI interface only when necessary. For instance, to run thePyCharm package to load and run some Python projects. You will find theinstructions for VNC server installation here.Testing the robot movementIn this videoyou can see the progress of this project. Note that for now, I have onlyprovided basic functionalities just to test if the driver and motors areworking properly. For the next Part 2, I will be work on motor, camera and IMU calibrations.Stay tuned...
Design and Implementation of Autonomous Vehicles System Part 3This is the Part 3 of this project. If you are interested inthe others parts, you can take a look on my blog here.In this section I will talk about Dijkstras algorithm that can be used in pathplanning. What is an algorithm? Algorithm can be defined as a step by step proceduredesigned to perform an operation, and which (like a map or flowchart) will leadto the sought result if followed correctly.So, based on Wikipedia, Dijkstras algorithm is an algorithm for finding theshortest paths between nodes in a graph, which may represent, for example, roadnetworks. Putting in single words, suppose you want go from one city to anotherwhere you have different routes that can be used, but you want to use theshortest route. Well, Dijkstras algorithm can analyze all options and show youthe shortest route. In short words, this can be used by an autonomous vehicleto go from one point to another. Lets see how it works.PseudocodeSuppose we have the graph of Figure 1, where each node might represent acity, the lines are roads and the numbers are the distances between the cities.Our goal is go from node A to the target node H, using the shortest path. Thenthe Dijkstras algorithm pseudo code is1. For each node n in thegraph n.distance = Infinity2. Create an empty list3. Make start.distance = 0 and add start to list4. While list not empty let current = node in the list with thesmallest distance, remove current from list For each node n thatis adjacent to currentif n.distance > current.distance +length of edge from n to current n.distance= current.distance + length of edge from n to current n.parent = current add n to list if its not thereyetDijkstrasalgorithm is actionBased on the pseudo code above, lets mark in the graphthe starting point as A and distance = 0. Lets use the red color to denotethat the node has been visited and will not be considered in next computations. Now we mark each neighbor node to node A with greencolor, which means that green nodes are in the list to be considered (see thepseudo code).Then, we compute the shortest distance between thecurrent and its neighbors. So, fromA -> B = 4, A -> C = 2, A -> D= 1. Note that the graph below has the letters B, C and D associated with thedistances from node A.In the next iteration, we compute the green nodes inthe list and, in this case, we start with node D that has the shortest pathfrom the start point. Then, for the neighbors of node D we have D -> F = 9, D-> C = 4, D -> G = 5. And we update the graph. Note that we do not update node C from 2 to 4 because 2is the shortest distance to this node.In the next iteration, we compute the neighbors ofnode C. Then we have C -> F = 7. And we update the graph. In the next iteration, we compute node B that has onlynode G as neighbor to consider
and the distance is B -> G = 9, that isbiggest than 5 and will not update the graph.Then iterating until the list is empty, as showed inthe pseudo code, we get the final graph showed below.So, the shortest path from A to H is 9 or A -> C-> F -> H or 2 + 5 + 2 = 9. Some tips to accelerate computation.1. Using a priority queue thatprovidces 3 basic operations: add_with_priority(), decrease_priority() andextract_min(), can lead to faster computing times than using a basic queue.Creating a Dijkstras algorithm code to the robotNow that we know how the Dijkstras algorithm works,lets create a function code and test with a simple example. To facilitate visualization,I will use Matlab and some built-in Robotics functions. In addition, I haveported the Matlab code to Python, that you can find in my Git repository, here.Becausewe are dealing with routes and paths, its interesting to use a map, where wecan draw the environment that we want to analyze.Here, I will use another algorithm named Grid Mapping or Occupancy GridMapping. The basic idea of the occupancy grid mapping is to represent a map ofthe environment as an evenly spaced field (discretized) of binary randomvariables, each representing the presence of an obstacle at that location inthe environment. So, assuming this discretized environment, we can setup somecolors that will help to display some conditions in this environment. Then, wewill have the following colors in the cells.1 - white, clear cell2 black, obstacle 3 red, cell visited4 blue, on list5 green, start6 yellow, destinationNote that we have the start and destination pointsmarked in the grid mapping. In the code we initialize some variables map, start and destination.occupancy_map = [ [1, 1,1, 1, 1, 1, 1, 1];... [1, 0,0, 0, 0, 0, 0, 1];... [1, 1,1, 0, 0, 0, 0, 1];... [1, 0,0, 0, 0, 0, 0, 1];... [1, 0,0, 1, 1, 1, 1, 1];... [1, 0,0, 0, 0, 0, 0, 1];... [1, 0,0, 0, 0, 0, 0, 1];... [1, 0,0, 0, 0, 0, 0, 1];... [1, 0,0, 0, 0, 0, 0, 1];... [1, 1,1, 1, 1, 1, 1, 1]];...start_coords=[2,2];dest_coords=[8,7];Note that the map variable will store 0 and 1s where1 is a cell with an obstacle and zero is a free cell. We can change theenvironment design, changing the values in the map matrix. Then, the Dijkstrasalgorithm will take care of the obstacles and find the shortest path to target.Create an array with the size of occupancy map, that will store the distanceswhile the algorithm progress. Initialize it with infinite values.distanceFromStart = Inf(nrows,ncols);Then in the main loop, for each iteration, we get the minimum andcurrent distances.[min_dist, current] = min(distanceFromStart(:));Then, inside the main loop, we iterate over all the 4 neighbors and check if the neighbor is an obstacle, or an empty cell, orthe target cell and store the distance to the current cell.At the final of computation, we will have a list with all distances from startto destination, as showed in Figure 7. You will find the complete code in the Git repository,here.The video below shows the Dijkstras algorithm inaction using
the map matrix we discussed above.In the next section, I will talk about Motion Control algorithms, where we can use algorithms to provide functionalities to the robot to decide the direction and orientation to be taken to follow a path, for instance. Stay tuned...
Finally Microsoft announced that we can download the new Windows 10 IoT Core Insider Preview with support for Raspberry Pi 2.The Windows 10 IoT Core is a new Windows 10 edition for low-cost, small-footprint devices that is available for free. This version of Windows was built to support Raspberry Pi 2 or higher. RPi2 has others OSs based on Linux that can be found here. I have already played for a while with some projects using RPi and RPi2. You will find, in this blog, a hot spot project I used some months ago when I was on the beach.But now we have Microsoft Windows and RPi2. Let's see which interesting IoT we can do with this partnership. The target of this document is to show how to install Windows 10 IoT Core on RPi2.Basically you will need: Raspberry Pi 2 boardEthernet connectionWindows 10 IoT Core fileWindows 10 Preview, but I was able to connect using Windows 7 Professional8 Gb micro SD cardPutting all the things togetherThere is a good tutorial in Microsoft IoT website here where you will find all the details to download the IoT file and install in SD card.After connect the Ethernet cable, plug the HDMI monitor and insert the SD card, you can connect the power cable and boot the RPi 2. The first boot will take more time because Windows 10 will setup some configurations. After that, any other boot will be faster.Below is the screenshot of my hdmi monitor Fig 1 - Main screenUsing the mouse you will be able to see only 2 valid buttons: the power button and setting button.The power button is functional and you can Restart or Shutdown RPi 2 using this button.The setting button will display other window where the options are not functional yet.The login feature via main monitor is still not available and so you will need to use one of the 2 options:Use the putty or any other tool to connect to RPi 2 and loginUse PowerShell (PS) session In option 1, you can download the putty.exe tool (its free) and run in you Windows. Inset the IP address in the textbox. You will see a screen like a figure below. Fig 2 - Using putty toolClique Open button and if all is ok, voila! You will get the screen belowI noticed that the dir command returns an additional information that is not showed when we connect via PowerShell.Maybe the commands in PS have some filters not available when using putty. The things are still new yet.To connect using option 2, PowerShell, you can get detailed information from Windows IoT website here. As you can see in figure below, I also tried to use a wireless modem USB and a keyboard but it seems that these devices are still not enabled. This project is um update of Hotspot Portatil that is another post of mine. While using the hot spot I decided to add the watchdog and write another post. With the massive use of mobile devices, the demand foropen hot spot or wifi has become common